如果把AjaxMethod特性加在服务器端的方法上,使用客户端函数时将每次都调用服务器端的方法,对于一些不是经常变动但调用又很频繁的数据这将增加服务器的请求次数.下面这个例子将演示怎样使用AjaxPro框架的AjaxServerCache特性在服务器端减少对CPU或数据库的访问.
页面CS代码如下
public
partial
class
_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//注册Ajax类
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
}
[AjaxPro.AjaxMethod]
[AjaxPro.AjaxServerCache(10)] //每10秒钟才重新调用一次该方法
public DateTime getServerTime()
{
return DateTime.Now;
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
//注册Ajax类
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
}
[AjaxPro.AjaxMethod]
[AjaxPro.AjaxServerCache(10)] //每10秒钟才重新调用一次该方法
public DateTime getServerTime()
{
return DateTime.Now;
}
}
aspx代码:
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Default.aspx.cs
"
Inherits
=
"
_Default
"
%>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > Welcome </ title >
< script type = " text/javascript " >
function CallServerMethod()
{
_Default.getServerTime(callback);
}
function callback(res)
{
alert(res.value);
}
</ script >
</ head >
< body >
< form id = " form1 " runat = " server " >
< div >
< p > Click < a href = " javascript:CallServerMethod();void(0); " > here </ a > to run ServerCaching test !</ p >
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > Welcome </ title >
< script type = " text/javascript " >
function CallServerMethod()
{
_Default.getServerTime(callback);
}
function callback(res)
{
alert(res.value);
}
</ script >
</ head >
< body >
< form id = " form1 " runat = " server " >
< div >
< p > Click < a href = " javascript:CallServerMethod();void(0); " > here </ a > to run ServerCaching test !</ p >
</ div >
</ form >
</ body >
</ html >