ASP.NET의 Caching에
관하여,[닷넷C#교육/ADO.NET강좌/ASP.NET교육잘하는곳/C#,ASP.NET교육추천/닷넷실무교육/.NET,C#/ADO.NET교육/닷넷학원/ASP.NET실무교육]
캐싱은 메모리에서 빈번히 액세스 되는 데이터의 경우 그 효율을 증가 시키기 위해 HTTP 요청을 통해 페이지와 데이터를 유지하는데 사용되며 재생 비용 없이도 재사용 가능 하다. ASP.NET에서는 3종류의 캐싱이 사용 된다.
출력캐싱(Putput Caching) : 요청(Request)에 의해 생성된 동적인 응답(Response)을 모두 캐싱 한다.
부분 캐싱(Fragment Caching) : 요청(Request)에 의해 생성된 응답(Response)의 일부를 캐싱 한다.
데이터 캐싱(Data Caching) : 프로그램적으로 임의의 객체를 캐싱 한다. 이를 지원하기 위해 ASP.NET은 요청을 통한 데이터를 쉽게 유지 하도록 프로그래머를 위한 캐시 엔진을 제공 한다.
촐력 캐싱은 전체 페이지의 내용을 캐싱 할 때 유용 하다. 엑세스가 심한 사이트에서는 캐싱이 1분정도의 단위로 자주 일어 난다. 출력 캐싱에 위한 페이지 캐싱을 사용 하면 그 페이지에 대한 후속 요청은 그것을 수행하는 코드의 수행 없이 출력 페이지에 제공 된다.
---------------------
출력 캐싱
---------------------
SQL Server 2000의 pubs 데이터베이스의 Author 테이블에 SQLDataAdapter로 질의 하고 데이터 셋을 통해 페이지에 캐싱한 후 60초 마다 MyData Control에 다시 표시하면서 시간을 기록하게 하는 예제를 작성 해 보도록 하자.
1. 프로젝트 이름을 OutputCaching 이라고 하여 C#, ASP.NET 웹 응용 프로젝트를 하나 생성 하자.
2 .웹폼의 이름을 Webform1.aspx에서 OutputCaching.aspx 라고 이름을 변경 하자.
3. 다음 소스코드를 HTML 영역에 붙여 넣기를 하자.
<%@ OutputCache Duration="60" VaryByParam="gbn1" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<HTML>
<script language="C#" runat="server">
void Page_Load(Object Src, EventArgs E ) {
String selectCmd;
String gbn1 = Request["gbn1"];
//수가구분에 따라 병원 수가 테이블에서 데이터 추출
if( gbn1 == null ) {
selectCmd = "select sname1, sbun, sjum, skum from HSuga";
}
else {
selectCmd = "select sname1, sbun, sjum, skum from HSuga where gbn1 = " + gbn1 ;
}
SqlConnection myConnection = new SqlConnection(
"data source=localhost; initial catalog=DentalDB;" +
"persist security info=True;user id=sa;password=osstem");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "HSuga");
MyDataGrid.DataSource=new DataView(ds.Tables[0]);
MyDataGrid.DataBind();
TimeMsg.Text = DateTime.Now.ToString("G");
}
</script>
<body>
<h3>
<font face="Verdana">출력캐싱 사용하기:</font>
</h3>
<b>수가구분별로 수가 보기:<%=Request["gbn1"]%></b>
<table cellspacing="0" cellpadding="3" rules="all" style="BORDER-LEFT-COLOR:black;BORDER-BOTTOM-COLOR:black;WIDTH:700px;BORDER-TOP-COLOR:black;BORDER-COLLAPSE:collapse;BACKGROUND-COLOR:#aaaadd;BORDER-RIGHT-COLOR:black">
<tr>
<td>
<a href="OutputCaching.aspx?gbn1=1">진찰료</a>
</td>
<td>
<a href="OutputCaching.aspx?gbn1=5">처치 수술료</a>
</td>
<td>
<a href="OutputCaching.aspx?gbn1=8">검사료</a>
</td>
</tr>
</table>
<p>
<ASP:DataGrid id="MyDataGrid" runat="server" Width="700px" BackColor="#CCCCFF" BorderColor="Black"
CellPadding="3" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" Height="153px"
Font-Names="Verdana" PageSize="5">
<HeaderStyle BackColor="#AAAADD"></HeaderStyle>
</ASP:DataGrid>
<p><i>마지막 생성 일시:</i>
<asp:label id="TimeMsg" runat="server" /></p>
</body>
</HTML>
[실행결과]
60초 동안에는 한번 가지고 온 데이터를 캐싱 한다. 화면 하단의 마지막 생성 일시를 확인 하면 된다.
캐싱은 메모리에서 빈번히 액세스 되는 데이터의 경우 그 효율을 증가 시키기 위해 HTTP 요청을 통해 페이지와 데이터를 유지하는데 사용되며 재생 비용 없이도 재사용 가능 하다. ASP.NET에서는 3종류의 캐싱이 사용 된다.
출력캐싱(Putput Caching) : 요청(Request)에 의해 생성된 동적인 응답(Response)을 모두 캐싱 한다.
부분 캐싱(Fragment Caching) : 요청(Request)에 의해 생성된 응답(Response)의 일부를 캐싱 한다.
데이터 캐싱(Data Caching) : 프로그램적으로 임의의 객체를 캐싱 한다. 이를 지원하기 위해 ASP.NET은 요청을 통한 데이터를 쉽게 유지 하도록 프로그래머를 위한 캐시 엔진을 제공 한다.
촐력 캐싱은 전체 페이지의 내용을 캐싱 할 때 유용 하다. 엑세스가 심한 사이트에서는 캐싱이 1분정도의 단위로 자주 일어 난다. 출력 캐싱에 위한 페이지 캐싱을 사용 하면 그 페이지에 대한 후속 요청은 그것을 수행하는 코드의 수행 없이 출력 페이지에 제공 된다.
---------------------
출력 캐싱
---------------------
SQL Server 2000의 pubs 데이터베이스의 Author 테이블에 SQLDataAdapter로 질의 하고 데이터 셋을 통해 페이지에 캐싱한 후 60초 마다 MyData Control에 다시 표시하면서 시간을 기록하게 하는 예제를 작성 해 보도록 하자.
1. 프로젝트 이름을 OutputCaching 이라고 하여 C#, ASP.NET 웹 응용 프로젝트를 하나 생성 하자.
2 .웹폼의 이름을 Webform1.aspx에서 OutputCaching.aspx 라고 이름을 변경 하자.
3. 다음 소스코드를 HTML 영역에 붙여 넣기를 하자.
<%@ OutputCache Duration="60" VaryByParam="gbn1" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<HTML>
<script language="C#" runat="server">
void Page_Load(Object Src, EventArgs E ) {
String selectCmd;
String gbn1 = Request["gbn1"];
//수가구분에 따라 병원 수가 테이블에서 데이터 추출
if( gbn1 == null ) {
selectCmd = "select sname1, sbun, sjum, skum from HSuga";
}
else {
selectCmd = "select sname1, sbun, sjum, skum from HSuga where gbn1 = " + gbn1 ;
}
SqlConnection myConnection = new SqlConnection(
"data source=localhost; initial catalog=DentalDB;" +
"persist security info=True;user id=sa;password=osstem");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "HSuga");
MyDataGrid.DataSource=new DataView(ds.Tables[0]);
MyDataGrid.DataBind();
TimeMsg.Text = DateTime.Now.ToString("G");
}
</script>
<body>
<h3>
<font face="Verdana">출력캐싱 사용하기:</font>
</h3>
<b>수가구분별로 수가 보기:<%=Request["gbn1"]%></b>
<table cellspacing="0" cellpadding="3" rules="all" style="BORDER-LEFT-COLOR:black;BORDER-BOTTOM-COLOR:black;WIDTH:700px;BORDER-TOP-COLOR:black;BORDER-COLLAPSE:collapse;BACKGROUND-COLOR:#aaaadd;BORDER-RIGHT-COLOR:black">
<tr>
<td>
<a href="OutputCaching.aspx?gbn1=1">진찰료</a>
</td>
<td>
<a href="OutputCaching.aspx?gbn1=5">처치 수술료</a>
</td>
<td>
<a href="OutputCaching.aspx?gbn1=8">검사료</a>
</td>
</tr>
</table>
<p>
<ASP:DataGrid id="MyDataGrid" runat="server" Width="700px" BackColor="#CCCCFF" BorderColor="Black"
CellPadding="3" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" Height="153px"
Font-Names="Verdana" PageSize="5">
<HeaderStyle BackColor="#AAAADD"></HeaderStyle>
</ASP:DataGrid>
<p><i>마지막 생성 일시:</i>
<asp:label id="TimeMsg" runat="server" /></p>
</body>
</HTML>
[실행결과]
60초 동안에는 한번 가지고 온 데이터를 캐싱 한다. 화면 하단의 마지막 생성 일시를 확인 하면 된다.
오라클자바커뮤니티에서 운영, 개발자 전문교육, 개인80%환급 오엔제이프로그래밍실무교육센터(www.onjprogramming.co.kr)
평일주간(9:30~18:30) 개강
(3/31)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(4/07)[기업100%환급]SQL기초에서 Schema Object까지
(4/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(4/14)C#4.0,ADO.NET,Network 프로그래밍
(4/14)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
평일야간(19:00~22:00) 개강
(4/01)안드로이드개발자과정
(4/04)웹퍼블리싱 마스터
(4/04)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(4/04)C#,ASP.NET마스터
(4/07)SQL초보에서실전전문가까지
(4/08)Spring3.X, MyBatis, Hibernate실무과정
주말(10:00~18:00) 개강
(3/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(4/05)웹퍼블리싱 마스터
(4/05)닷넷실무자를위한WPF개발자과정
(4/05)Spring3.X, MyBatis, Hibernate실무과정
(4/05)SQL초보에서실전전문가까지
(4/12)C#,ASP.NET마스터
(4/12)안드로이드개발자과정
댓글 없음:
댓글 쓰기