背景
缓存是开发高性能和高可用性Web应用的重要手段之一。作为ASP.NET AJAX的关键功能,从客户端访问Script Method会被大量用于使用ASP.NET开发的AJAX应用。以下是这一功能最简单的例子。
| <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug"> <Services> <asp:ServiceReference Path="CacheService.asmx" /> </Services> </asp:ScriptManager> <script language="javascript" type="text/javascript"> var count = 0; function getServerTime() { window.count ++; CacheService.GetServerTime(onSucceeded); } function onSucceeded(result) { Sys.Debug.trace(result.format("HH:mm:ss")); if (count < 6) { window.setTimeout(getServerTime, 3000); } else { window.count = 0; } } </script> <input type="button" value="GetCurrentTime" /> <br /><br /> <textarea cols="20" rows="10" id="TraceConsole"></textarea> |
页面上有一个ScriptManager控件,其ScriptMode属性被设为Debug,这样我们就可以使用Sys.Debug.trace方法向ID为TraceConsole的TextArea元素中添加文本了。当点击页面上的按钮时,我们会连续访问6次服务器端的方法以获得服务器端的时间,每两次请求之间将会有一个3秒的间隔。服务器端的方法定义如下:
| [ScriptService] public class CacheService : System.Web.Services.WebService { [WebMethod] public DateTime GetServerTime() { return DateTime.Now; } } |
打开页面,点击按钮,我们可以在页面中看到如下的结果:
