본문 바로가기

프로그래밍/C#

C# 캐싱 및 Page Refresh

캐싱

- 전체 페이지 캐싱

   <%@ OutputCache Duration="2147483647" Shared="true" VaryByParam="*" %>

Duration은 몇초간 할 것인지
VeryByParam은 모든 매개변수에 대해 * 또는 세미콜론으로 구분( VeryByParam = "customerId;languageId") 사용 가능
- 다른 버전을 캐시하지 않으려면 none을 사용할 수 있습니다.

- 캐시 프로필


    
      
        
      
    
  

캐시 프로필을 사용하면 응용 프로그램의 web.config파일에 캐시 설정을 만든 다음 개별 페이지에서 이러한 설정을 참조 할 수 있습니다. 이렇게 하면 한번에 여러 페이지에서 캐시 설정을 적용할 수 있으므로 캐시 설정을 일괄적으로 수정해야 할 경우 매우 유용하게 사용할 수 있습니다.

   <%@ OutputCache CacheProfile="cache" %>

이제 다음과 같은 구문을 이용해서 어느 페이지에서든지 미리 셋팅해 놓은 캐시 프로필을 이용할 수 있습니다.

페이지 새로고침, PageRefresh

string path = Server.MapPath("/includes/priceTable/DynPriceTable.ascx");
   if (!File.Exists(path))
   {
       ReturnJson(false);
       return;
   }
   File.WriteAllBytes(path, File.ReadAllBytes(path));
private void ReturnJson(){
   Response.Clear();
   Response.ContentType = "text/plain";
   Response.Write(success ? "success" : "fail");
   Response.End();
}