Programming/.NET

일반적으로 데이터저장을 위해서는 쿠키나 세션과 같은 대중적인(?) 방법이 있지만 ASP.NET에서는 그 외에도

아래와 같은 데이터 저장방법을 활용할 수 있습니다.

 

 1. HttpContext.Current.Items

 

HttpContext.Current.Items를 활용하면 세션이나 쿠키, 뷰상태를 대신해 임시적으로 데이터를 저장할 수 있습니다.

 

HttpContext.Current.Items["aaa"] = "cliel";

Response.Write(HttpContext.Current.Items["aaa"].ToString());

 

HttpContext.Current.Items도 세션처럼 단순문자열부터 개체까지 다양한 Type의 데이터를 저장하고 가져올 수 있습니다.

 

 2. Application

 

Application 개체를 활용하면 ASP.NET 애플리케이션에서 전역변수형태로 데이터를 담아둘 수 있습니다. 즉, 애플리케이션 전역에서 공통된 변수로 데이터를 동일하게 관리하려면 Application개체를 사용하시면 됩니다.

 

Application.Lock();
Application["tmpdata"] = "cliel";
Application.UnLock();

 

Application개체는 다중 스레드에서의 요청에서 접근될 수 있으므로 값을 저장하거나 변경하는 경우에는 Lock 메소드를 호출하여 잠금을 유지하고 값설정이 끝나면 UnLock 메소드로 잠금을 종료하시기 바랍니다.

 

다만 UnLock메소드는 Lock메소드를 호출한 HttpRequest 개체수명이 종료되면 자동으로 잠금이 해제됩니다.

 

마지막으로 뷰스테이트와 숨김필드를 통해서도 값을 저장하는 방법이 있으나 단순한 내용이 아닌 비교적 보안이 요구되는 데이터인 경우에는 권장하지 않습니다.

0 0