Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jQuery
- 실버라이트
- 실버라이트2
- ASP.NET
- MS
- 검색
- 자바스크립트
- 해킹
- Sliverlight
- JavaScript
- Web 2.0
- 형태소분석기
- silverlight
- GDI+
- 개발자
- hnd-7070
- COM+
- 성공
- 게으름
- .net
- 암호화
- 백신
- GTD
- 전기차
- Ajax
- 리팩토링
- C#
- WEb 2.0 Expo
- XML
- 구글
Archives
- Today
- Total
꿈으로 가는 작은 계단
ASP.NET 캐시의 올바른 사용 본문
원문 : Correct using of ASP.NET Cache
ASP.NET 애플리케이션 코드를 보다 보면 아래와 같은 코드를 보는 경우가 종종 있습니다.
if (Cache["SomeData"] != null)
{
string name = ((SomeClass)Cache["SomeData"]).Name;
//.....
}
이 코드는 안전하지가 않습니다. 게다가 두 번째 문장은 NullReferenceException을 일으킬 수도 있습니다. 두 번의 호출이 일어나는 사이에 캐시된 객체가 유지된다는 보장은 없습니다. 첫번째 호출 이후에 객체는 가비지 컬렉터나 캐쉬된 객체를 갱신하는 다른 스레드에 의해 삭제될 지도 모릅니다.
이 문제를 해결하기 위해서는 as 연산자를 사용하십시오.
SomeClass someClass = Cache["SomeData"] as SomeClass;
if (someClass != null)
{
string name = someClass.Name;
//.....
}
'소프트웨어 > C# & ASP.NET' 카테고리의 다른 글
| 한글 처리 문제 (EUC_KR, KSC5601-1992 ) (0) | 2009.11.13 |
|---|---|
| euc-kr 과 ks_c_5601-1987 둘중 어느것을 사용해야 하나요? (0) | 2009.11.13 |
| 완전한 URL을 알아내는 방법 (0) | 2009.11.12 |
| /app_code 디렉토리에 있는 파일의 수는 최소화 하십시오. (0) | 2009.11.12 |
| nullableAge, int.TryParse (0) | 2009.11.12 |