소프트웨어/C# & ASP.NET 85

c# 개념잡기 - Generic

1) 박싱 & 언박싱 - 값타입 --박싱--> 참조타입 - 참조타입 --언박싱--> 값타입 ArrayList al = new ArrayList(); al.Add(100); // ArrayList는 object를 저장함. 따라서 100(값타입)은 참조타입으로 box되어 저장됨 int val = (int)al[0]; // al[0]를 int(값타입)로 사용하기 위해 unboxing됨 2) 값타입 - 단순타입 : int, byte, char, float, decimal, bool 등 - 열거형타입 : enum - 구조체타입 : struct - nullable 타입 : int?, double? 등 3) 참조타입 - 클래스 타입 : object, string, class - 인터페이스 타입 : interface ..

euc-kr 과 ks_c_5601-1987 둘중 어느것을 사용해야 하나요?

안녕하세요 meta 태그에 네이버나 다음등에서는 euc-kr 을 사용하고 어떤사이트는 ks_c_5601-1987 를 사용하더라구요. 저희 사이트에서는 euc-kr을 사용했는데 그런데 euc-kr에서 아래와 같이 test.asp 페이지에서 "롷" 같은 이상한 문자를 전송하면 test2.asp 에서 문자의 길이도 8 이고 그것을 출력해보면 롷 와 같아집니다. 때문에 SQL 서버에 넣을때 컬럼길이를 넘어서 에러가 납니다. ks_c_5601-1987 로 하면 롷이 정상적으로 길이도 1이되고 SQL 서버에 정상적으로 들어갑니다. 궁금한 것은 1) 왜 네이버등은 euc-kr을 사용하는 것입니까? 궁금한 것은 2) euc-kr에서 롷과 같은 문자가 정상적으로 들어가도록 하는 방법이 없나요? 궁금한 것은 3) euc-..

ASP.NET 캐시의 올바른 사용

원문 : Correct using of ASP.NET Cache ASP.NET 애플리케이션 코드를 보다 보면 아래와 같은 코드를 보는 경우가 종종 있습니다. if (Cache["SomeData"] != null) { string name = ((SomeClass)Cache["SomeData"]).Name; //..... } 이 코드는 안전하지가 않습니다. 게다가 두 번째 문장은 NullReferenceException을 일으킬 수도 있습니다. 두 번의 호출이 일어나는 사이에 캐시된 객체가 유지된다는 보장은 없습니다. 첫번째 호출 이후에 객체는 가비지 컬렉터나 캐쉬된 객체를 갱신하는 다른 스레드에 의해 삭제될 지도 모릅니다. 이 문제를 해결하기 위해서는 as 연산자를 사용하십시오. SomeClass som..

완전한 URL을 알아내는 방법

원문 : How to create fully qualified URLs ASP.NET에서는 VirtualPathUtility.ToAbsolute 메서드를 이용하면 아주 쉽게 페이지의 절대 경로를 알 수 있습니다. 절대 URL을 얻는 방법도, 절대 경로를 얻는 것 만큼이나 명백하지는 않지만, 무척 쉽습니다. 그냥 리퀘스트 URL이랑 ASP.NET 페이지의 절대경로를 연결하면 됩니다. string absolutePath = VirtualPathUtility.ToAbsolute("~/test/MyWebForm.aspx"); Uri newUri = new Uri(Request.Url, absolutePath); 출처 : http://kimgwajang.tistory.com/7

/app_code 디렉토리에 있는 파일의 수는 최소화 하십시오.

원문 : Keep the number of files in your /app_code directory small 웹 사이트 프로젝트의 빌드 시간을 줄이고 싶으면 /app_code 디렉토리에 있는 파일의 수를 적게 유지하십시오. /app_code 디렉토리에 매우 많은 파일이 있으면, 이를 별도의 클래스 라이브러리 프로젝트로 분리하고 웹 사이트에서 참조하십시오. /app_code에 파일이 많지 않다면 이는 별 다른 이슈가 되지는 않습니다. 하지만 /app_code에 매우 많은 디렉토리와 파일이 있다면 이 방법을 이용하면 상당한 속도 향상을 얻게 될 것입니다. 또 한 가지 알아두셔야 할 것은 비주얼 스튜디오 HTML 디자이너에서 소스 보기와 디자인 보기를 전환할 때 마다, 디자이너 화면에 로드되기 전에 디자..

SlimTune

SlimTune은 C#, VB.NET, IronPython등을 포함한 .NET 기반 어플리케이션용 무료 프로파일러프로파일러 겸 분석/튜닝 도구입니다. 여러가지 강력한 기능을 제공하며 원격 프로파일링, 실시간 결과결과 출력, 플러그인 기반 표시등이 있습니다. 소스 코드는 MIT 라이센스로 제공됩니다. SlimTune은 현재 프로토타입 단계로 개발중이지만 테스트와 의견을 위해 릴리즈가릴리즈가 되었습니다. x86과 x64가 제공되며 샘플링 기반 프로파일링만 가능한 상태입니다. 프로젝트 홈페이지 : http://code.google.com/p/slimtune/