ASP.NET Substitution 컨트롤 의 사용 방법

2970 단어 ASP.NETSubstitution
어떤 경우 에는 ASP.NET 페이지 를 캐 시 할 수 있 지만 요청 마다 페이지 에서 선택 한 부분 을 업데이트 해 야 합 니 다.예 를 들 어 한 페이지 의 많은 부분 을 캐 시 할 수 있 지만 이 페이지 의 시간 높이 와 관련 된 정 보 를 동적 으로 업데이트 해 야 합 니 다.
Substitution 컨트롤 을 사용 하여 캐 시 페이지 에 동적 내용 을 삽입 할 수 있 습 니 다.Substitution 컨트롤 은 표시 되 지 않 습 니 다.이 컨트롤 을 페이지 나 부모 사용자 컨트롤 에 연결 하 는 방법 이 필요 합 니 다.페이지 에 삽입 할 모든 정 보 를 되 돌려 주 려 면 정적 방법 을 만 드 십시오.Substitution 컨트롤 에서 호출 하 는 방법 은 다음 표준 에 부합 해 야 합 니 다.
이 방법 은 정적 방법(Visual Basic 에서 공유 방법)으로 정의 되 었 습 니 다.
이 방법 은 HttpContext 형식의 인 자 를 받 아들 입 니 다.
이 방법 은 String 형식의 값 을 되 돌려 줍 니 다.
Substitution 컨트롤 은 페이지 의 다른 컨트롤 에 접근 할 수 없습니다.즉,다른 컨트롤 의 값 을 검사 하거나 변경 할 수 없습니다.그러나 코드 는 현재 페이지 의 컨 텍스트 에 접근 하기 위해 전 달 된 매개 변 수 를 사용 할 수 있 습 니 다.
페이지 가 실 행 될 때 Substitution 컨트롤 은 이 방법 을 호출 한 다음 이 방법의 반환 값 으로 페이지 의 Substitution 컨트롤 을 교체 합 니 다.
다음은 Substitution 컨트롤 이 캐 시 페이지 에 동적 내용 을 생 성 하 는 것 을 두 가지 방식 으로 보 여 줍 니 다.캐 시 시간 은 20 초 이 고 20 초 동안 몇 번 을 새로 고침 하 든 직접 출력 하 는 시간 은 변 하지 않 습 니 다.페이지 의 Substitution 컨트롤 은 정적 방법 getCurrentTime 을 호출 하고 호출 할 때마다 변 합 니 다.
코드 1:Response.cache 관련 방법 으로 캐 시 설정

<script runat="server">
    static string getCurrentTime(HttpContext context)
    {
        return DateTime.Now.ToString();
    }
    void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.Now.AddSeconds(20));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
    }
</script>
<div>
    <h4>
        -- substitution </h4>
    <p>
        Cache Time:<%= DateTime.Now.ToString() %>
    </p>
    <p>
        <b>Real Time:<asp:Substitution ID="Substitution1" runat="server" MethodName="getCurrentTime" />
        </b>
    </p>
</div>
코드 2:Output Cache 명령 으로 캐 시 설정

<%@ OutputCache Duration="20" VaryByParam="none" %>
<script runat="server">
    static string getCurrentTime(HttpContext context)
    {
        return DateTime.Now.ToString();
    }
</script>
<div>
    <h4>
        -- substitution </h4>
    <p>
        Cache Time:
        <%= DateTime.Now.ToString() %>
    </p>
    <p>
        <b>Real Time:<asp:substitution id="Substitution1" runat="server" methodname="getCurrentTime" />
        </b>
    </p>
</div>

좋은 웹페이지 즐겨찾기