C# IDisposable pattern on sub-classes

.Net 2011. 7. 22. 11:13 posted by 무명시인

Summarize C# Control Excel Skills

.Net 2011. 5. 20. 10:33 posted by 무명시인
C#으로 Excel 를 처리하는 방법들을 정리 한 내용입니다.    


http://www.codeproject.com/KB/cs/csharpexcel.aspx


Web Page Layout Without Tables

.Net 2011. 4. 12. 15:10 posted by 무명시인



Table 태그를 사용하지 않고 Layout 을 설정하는 방법을 소개합니다.
        



http://www.codeproject.com/KB/HTML/webpage_layout_no_tables.aspx


DataTable Excel 출력

.Net 2011. 3. 24. 14:03 posted by 무명시인
DataTable 을 Excel 로 출력할때 쓰는 함수 입니다.
간단하게 작성해봤습니다.
        


public static void ExportExcel(DataTable dt)
{
    StringBuilder sb = new StringBuilder();

    sb.Append("");

    // head
    sb.Append("");

    for (int i = 0; i < dt.Columns.Count; i++)
    {
        sb.AppendFormat("", dt.Columns[i].ColumnName);
    }
    sb.Append("");

    // body
    foreach (DataRow dr in dt.Rows)
    {
        sb.Append("");

        for (int j = 0; j < dt.Columns.Count; j++) sb.AppendFormat("", dr[j]);

        sb.Append("");
    }

    sb.Append("
{0}
{0}
"); string name = string.Format("엑셀_{0}", DateTime.Now.Ticks.ToString()); HttpContext.Current.Response.ContentType = "application/vnd.msexcel"; HttpContext.Current.Response.AddHeader("content", "text/html; charset=utf-8"); HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xls", HttpUtility.UrlEncode(name))); HttpContext.Current.Response.Write(sb.ToString()); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.Close(); HttpContext.Current.Response.End(); }
1) Set debug=false under compilation as follows:

2) Use Server.Transfer instead of Response.Redirect.

3) Always check Page.IsValid when using Validator Controls

4) Use Foreach loop instead of For loop for String Iteration.

5) Use Client-Side Validation. (but not all the time you have to validate even on the server side)

...
        



http://www.codeproject.com/Tips/49971/While-developing-any-web-site-one-should-keep-some.aspx

ASP.NET에서 Session이 저장되는 3가지 방식

.Net 2010. 12. 9. 09:08 posted by 무명시인
ASP.NET에서 Session이 저장되는 방식은 3가지가 있습니다.

1. In-Process 방식
ASP.NET 작업 프로세스에 세션이 저장되는 방식입니다.
속도는 가장 빠르지만 단일 웹서버에서만 사용가능하고
DLL이 업로드되는 경우 세션이 사라지게 됩니다.

2. Session State Server 방식
세션을 저장하는 별도의 서비스를 사용하는 방식을 말합니다.
In-Process 방식보다는 속도가 느리지만 여러 웹서버에서 공통으로 사용가능합니다.

세션이 작업 프로세스와 떨어진 별도의 서비스에 저장되므로
DLL을 올려도 세션이 그대로 있게 됩니다.
저도 개발시에는 Session State Server를 사용하곤 했습니다.
그래야 테스트하기 편하거든요..

3. SQL Server 방식
가장 안전하게 저장되는 방식이지만 성능은 가장 느립니다.
하드디스크에 저장되므로 전원이 나가도 세션유지가 가능합니다.
SQL Server 방식으로 세팅하는 방법은 아래 문서에서 읽어보세요.
'http://support.microsoft.com/kb/317604


그리고 위 세가지 방식에 대한 자세한 설명은 아래 문서에서 읽어보세요.
'http://support.microsoft.com/kb/307598/


그리고 여담으로 말씀드리자면 위의 3가지 방식외에 
Windows Server AppFabric를 사용한 4번째 세션 저장방법을 
MS가 만들고 있다고 들었습니다.



출처 : Taeyo.net

http://www.taeyo.net/Forum/Content.aspx?SEQ=31569&TBL=ASPNET&PGN=1



[개발환경] ASP.NET 개발할때

.Net 2010. 12. 7. 10:01 posted by 무명시인
TFS의 소스코드 관리는 Source Safe보다 개선됐다고 들었습니다.
TFS는 이런 소스코드 버전관리 개념을 포함한 ALM 시스템입니다.
자동빌드, 배포, 이슈관리 등도 포함되어 있죠..

.....

DLL을 업데이트할 경우에는 사용자의 Session이 끊어집니다.        
하지만 Session Server를 별도로 사용하거나 SQL Server를 사용하는 방식을 쓰면        
DLL 업데이트해도 Session이 살아있게 됩니다.

.....

ASP.NET이 2.0 들어오면서 웹프로젝트가 웹사이트 모델로 바뀌었습니다.
웹사이트 모델은 마치 ASP같은 감각으로 ASP.NET을 개발할 수 있게합니다.

ASP같다는 얘기는 ASP처럼 소스코드 그대로 웹서버에 올려도 된다는 얘기입니다.
그러면 IIS웹서버가 ASPX및 CS 파일을 컴파일하게 됩니다.
이를 동적 컴파일이라고도 합니다.

하지만 이 방식은 단점도 있습니다.
웹서버에서 소스코드를 수정할 수 있다는 얘기는 오타 등으로 인한 에러를 
실행전에는 알 수 없다는 얘기이기도 합니다.
사용자가 에러를 보게 될 수도 있다는 얘기입니다.

물론 웹사이트 모델도 사전 컴파일이 가능합니다.
하지만 컴파일 속도가 매우 느립니다.
그래서 ASP.NET 1.X 대와 같은 웹애플리케이션 모델이 다시 나오게 됩니다.

웹사이트 모델로 만들려면 Visual Studio에서 File > New > Web Site를 선택하고
ASP.NET WebSite를 선택하면 됩니다.
웹애플리션 모델로 만들려면 File > New > Project  선택하시고 
ASP.NET Web Application을 선택하시면 됩니다.

물론 둘다 VB나 C#을 사용할 거냐 Empty 프로젝트로 할 거냐
Dynamic Data 를 사용할 거냐 등의 선택도 같이 하셔야 합니다
        



http://www.taeyo.net/Forum/Content.aspx?SEQ=31568&TBL=ASPNET&PGN=1


UpdataPanel 하위 컨트롤 찾기

.Net 2010. 11. 3. 17:32 posted by 무명시인
* UpdataPanel 속의 컨트롤 찾기

UpdataPanel 을 사용해서 내부의 컨트롤 개체들을 제어 할때..
그냥 UpdataPanel.컨트롤 개체로 찾으면 될줄 알았는데 아니었더군요..
복잡한것은 아니지만 조금 삽질 했습니다.^^;


    
    foreach (Control c in this.UpdatePanel1.ContentTemplateContainer.Controls)
    {
        // to do..
    }
    
    

SqlHelper Class 소스코드 + 샘플예제

.Net 2009. 12. 3. 11:01 posted by 무명시인
SqlHerlp 관련한 포스팅의 소스코드와 샘플예제 입니다..

허접하지만..

그냥 간단하게 사용할만 합니다.