[ASP.NET, ADO.NET]출력캐싱, output caching 예제, 오라클
꽁스짱
ASP.NET
0
1215
2021.02.17 01:46
[ASP.NET, ADO.NET]출력캐싱, output caching 예제, 오라클
출력 캐싱은 전체 페이지의내용을 캐싱 할 때 유용 하다. 엑세스가 심한 사이트에서는 캐싱이 1분정도의단위로 자주 일어 난다. 출력 캐싱에 위한 페이지 캐싱을 사용 하면 그 페이지에 대한 후속 요청은 그것을수행하는 코드의 수행 없이 출력 페이지에 제공 된다.
ORACLE 데이터베이스의 EMP 테이블에 OleDbDataAdapter로 질의 하고 데이터 셋을 통해 페이지에 캐싱한 후 10초 마다 MyData Control에 다시 표시하면서 시간을 기록하게 하는 예제를 작성해 보도록 하자.
[outputcaching.aspx]
<%@ OutputCache Duration="10" VaryByParam="deptno" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<HTML>
<script language="C#" runat="server">
void Page_Load(Object Src, EventArgs E ) {
String selectCmd;
String deptno = Request["deptno"];
//부서코드에 따라 데이터 추출
if( deptno == null ) {
selectCmd = "select empno, ename, sal, deptno from emp";
}
else {
selectCmd = "select empno, ename, sal, deptno from emp where deptno = " + deptno ;
}
string conStr = "Provider=MSDAORA;data source=ONJ;User ID=scott;Password=tiger";
OleDbConnection myConnection = new OleDbConnection(conStr);
OleDbDataAdapter adapter = new OleDbDataAdapter(selectCmd, myConnection);
DataSet ds = new DataSet();
adapter.Fill(ds);
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["deptno"]%></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="outputcashing.aspx?deptno=10">10번 부서</a>
</td>
<td>
<a href="outputcashing.aspx?deptno=20">20번 부서</a>
</td>
<td>
<a href="outputcashing.aspx?deptno=20">30번 부서</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>
[결과]
아래 시간은 10초 단위로 캐시되므로 10초씩 정도 변경 하는 것을 확인 할 수 있다.