Visual Basic .NET 사용하여 ASP.NET 에서 캐시 방법

기술 자료 번역 기술 자료 번역
기술 자료: 811431 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 ASP.NET 웹 페이지 및 데이터 개체에 캐시하는 방법을 제어하는 방법을 설명합니다. 캐싱을 통해 나중에 요청을 할 때 정보를 다시 사용하지 않습니다. 캐싱은 고성능 및 확장 가능한 서버 응용 프로그램을 구축하는 동안 중요한 기술입니다. 페이지에 대한 첫 번째 요청에서 데이터 개체, 페이지 또는 페이지 메모리의 일부를 저장할 수 있습니다. 웹 서버, 프록시 서버 또는 브라우저 이러한 항목을 저장할 수 있습니다.

추가 정보

ASP.NET 캐싱을 제어하는 데 편리한 방법을 제공합니다. @ OutputCache 지시문을 사용하여 페이지 출력 캐싱 ASP.NET에서 제어할 수 있습니다. HttpCachePolicy 클래스를 사용하여 데이터 집합, 서버 메모리 같은 임의의 개체를 저장합니다. 클라이언트 브라우저, 프록시 서버 및 Microsoft 인터넷 정보 서비스 (IIS) 와 같은 응용 프로그램 캐시에 저장할 수 있습니다. Cache-Control HTTP 헤더 캐싱을 제어할 수 있습니다.

ASP.NET 출력 캐싱에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
308516Visual Basic .NET 사용하여 ASP.NET에서 컨트롤 페이지 출력 캐싱 방법

ASP.NET 페이지 캐시

기본 Visual .NET 또는 Visual C# .NET을 사용하여 코드를 통해 프로그래밍 방식으로 또는 @ OutputCache 지시문을 사용하여 캐시할 수 있습니다. @ OutputCache 지시문을 위치 특성을 포함합니다. 이 특성은 캐시된 항목의 위치를 결정합니다. 다음 위치 중 하나를 지정할 수 있습니다.
  • 모든 - 이 요청을 또는 요청이 처리된 서버가 참여하는 클라이언트 브라우저에서 프록시 서버나 다른 서버에 출력 캐시에 저장합니다. 기본적으로 모두 선택되어 있습니다.
  • 클라이언트 - 클라이언트 브라우저에서 이 출력 캐시에 저장합니다.
  • Downstream - 이 요청에 참여하지 캐시 가능 장치 (서버가 아닌 다른 원본) 의 출력 캐시에 저장합니다.
  • 서버 - 이것은 웹 서버에 출력 캐시에 저장합니다.
  • 없음 - 이 출력 캐시 기능을 이 해제합니다.

다음 코드 샘플은 @ OutputCache 지시문을 및 동일한 프로그래밍 코드가 있습니다.
  • 지정한 기간 출력 캐시에 저장할 수

    선언적 방식:
    <%@ OutputCache Duration="60" VaryByParam="None" %>

    프로그래밍 방식:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
  • 여기서 요청이 처음 시작된 브라우저 클라이언트 출력 캐시에 저장할 수

    선언적 방식:
    <%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>

    프로그래밍 방식:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Private)
    
  • 모든 HTTP 1.1 캐시 가능 장치 프록시 서버 및 클라이언트 요청 내용을 포함하는 출력 캐시에 저장할 수

    선언적 방식:
    <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>

    프로그래밍 방식:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetNoServerCaching()
  • 웹 서버의 출력 캐시에 저장할 수

    선언적 방식:
    <%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>

    프로그래밍 방식:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Server)
    
  • 다른 도시 함께 도착할 각 HTTP 요청에 대한 출력 캐시 수

    선언적 방식:
    <%@ OutputCache duration="60" varybyparam="City" %>
    

    프로그래밍 방식:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.VaryByParams("City") = true
    
    VaryByCustom 특성, VaryByHeader 특성 및 @ OutputCache 지시문 VaryByParam 특성에서 HttpCachePolicy 클래스 VaryByHeaders 속성 및 VaryByParams 속성 및 SetVaryByCustom 메서드를 제공합니다.

클라이언트 및 프록시 캐싱 해제

ASP.NET 웹 페이지에 클라이언트 위치에 및 프록시 위치에 대한 출력 캐시를 해제하려면 위치 특성 값 없음 을 설정하고 VaryByParam없음@ OutputCache 지시문에 을 설정하십시오. 다음 코드 샘플을 사용하여 클라이언트 및 프록시 캐싱 기능을 해제합니다.
  • 선언적 방식:
    <%@ OutputCache Location="None" VaryByParam="None" %>
  • 프로그래밍 방식:
    Response.Cache.SetCacheability(HttpCacheability.NoCache)

서버 메모리에 임의의 개체 캐시

ASP.NET 메모리에서 만들려면 서버 리소스 많이 필요한 개체를 저장하는 데 사용할 수 있는 강력하고 사용이 쉬운 캐싱 메커니즘이 포함되어 있습니다. 캐시 클래스에서 이 메서드를 구현합니다. 인스턴스 개인 각 응용 프로그램 및 해당 응용 프로그램 수명 연결됩니다. 캐시 클래스를 사용하여 ASP.Net 임의의 개체를 캐시하려면 다음과 같이 하십시오.
  1. 새 ASP.NET 웹 응용 프로그램을 Visual 기본 .NET을 사용하여 만듭니다.
  2. 기본적으로 WebForm1.aspx가 만들어집니다.
  3. WebForm1.aspx 의 HTML 뷰에서 기존 코드를 다음 예제 코드로 바꿉니다:
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Import Namespace="System.Data" %>
    <HTML>
    	<script language="vb" runat="server">
    
    		Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
    			Dim Source As DataView
    
    		'Retrieve the DataView object from the Cache class. If it does not exist, add the DataView object to the Cache class.
    
    		Source = CType(Cache("MyDataSet"), DataView)
    
    		If Source Is Nothing Then
    
    			Dim myConnection As SqlConnection = New SqlConnection("Server=ServerName; database=Pubs; user id=UID; password=PWD;")
    			Dim myCommand As SqlDataAdapter = New SqlDataAdapter("select * from Authors", myConnection)
    			Dim ds As DataSet = New DataSet()
    			myCommand.Fill(ds, "Authors")
    
    			Source = New DataView(ds.Tables("Authors"))
    			Cache("MyDataSet") = Source
    			CacheMsg.Text = "Dataset created explicitly"
    			
    		Else
    			
    			CacheMsg.Text = "Dataset retrieved from cache"
    
    		End If
    
    		' Bind the DataView object to DataGrid. 
    		MyDataGrid.DataSource = Source
    		MyDataGrid.DataBind()
    
    		End Sub
    
    	</script>
    	<body>
    		<form method="GET" runat="server" ID="Form1">
    	      <h3><font face="Verdana">Caching Data</font></h3>
    			<ASP:DataGrid id="MyDataGrid" runat="server"
    			Width="700"
    			BackColor="#ccccff"
    			BorderColor="black"
    			ShowFooter="false"
    			CellPadding=3
    			CellSpacing="0"
    			Font-Name="Verdana"
    			Font-Size="8pt"
    			HeaderStyle-BackColor="#aaaad" />
    			<p>
    			<i><asp:label id="CacheMsg" runat="server"/></i>
    	    </form>
    		</P>
    	</body>
    </HTML>
    참고 값을 ServerName, UIDPWDSqlConnection 개체에 대한 샘플 코드에서 SQL 서버 이름, 사용자 ID 및 암호 바꾸기.
  4. 디버그 메뉴에서 응용 프로그램을 실행하려면 시작 을 클릭하십시오.

    참고 응용 프로그램을 다시 시작할 때 캐시된 개체가 다시 만들어집니다.

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
234067Internet Explorer에서 캐싱을 방지하는 방법
247404IIS를 사용하면 Cache-Control HTTP 헤더 수정하는 방법
311006Windows 2000에서 웹 캐싱을 방지하는 방법
247389IIS: 특정 MIME 형식의 캐싱을 해제하는 방법
313561IIS의 컨텐트 만료에 대한 HTTP 헤더 설정 방법


자세한 내용은 다음 Microsoft 웹 사이트를 참고하시기 바랍니다:
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx


속성

기술 자료: 811431 - 마지막 검토: 2007년 5월 31일 목요일 - 수정: 3.6
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
키워드:?
kbmt kbhowtomaster kbdatabinding kbcaching kbwebforms kbinfo KB811431 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com