Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > 在ASP.NET Atlas中调用Web Service——应用Cache减小服务器开销
【标  题】:在ASP.NET Atlas中调用Web Service——应用Cache减小服务器开销
【关键字】:ASP.NET,Atlas,Web,Service,Cache
【来  源】:http://dflying.cnblogs.com/archive/2006/05/28/atlas_and_web_service__using_cache.html

在ASP.NET Atlas中调用Web Service——应用Cache减小服务器开销

Your Ad Here

作者:Dflying Chen http://dflying.cnblogs.com/

对于一些复杂的,需要较长时间完成,并且对实时性要求不是很高的服务,选择Cache往往是一个有效的提高效率的方法。.NETWeb Service实现充分考虑了对Cache的需求,您只需要简单的设定即可启用CacheAtlas中对Web Service的调用也可以利用这一Cache机制,以减少服务器端不必要的开销。

要启用Web ServiceCache,您只需要在WebMethod的声明中添加如下属性:

[WebMethod(CacheDuration = 5)]

其中CacheDuration的值代表Cache的时间,单位为

但这种Cache的方法是Web Service提供的,Atlas对此一无所知,每次调用还是被发送给服务器。所以对于网络上延迟对用户的影响,这种Cache没有办法改善

让我们通过一个示例程序进一步了解Web ServiceCache

首先编写一个Web Service,返回当前时间,并指定CacheDuration5秒:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
public class CachedWebService : System.Web.Services.WebService
{
    [WebMethod(CacheDuration 
= 5)]
    
public DateTime GetGurrentTime()
    
{
        
return DateTime.Now;
    }

}

然后创建一个Atlas页面,添加ScriptManager并在其中引用这个Web Service

<atlas:ScriptManager runat="server" ID="scriptManager">
    
<Services>
        
<atlas:ServiceReference Path="CachedWebService.asmx" />
    
</Services>
</atlas:ScriptManager>

再添加一些HTML标记用来调用这个Web Service并且显示结果:

<input id="btnInvoke" type="button" value="Invoke" onclick="return btnInvoke_onclick()" />
<div id="result">
</div>

最后是JavaScript部分,这里我们将每一次调用的结果都显示到页面上,便于分析:

function btnInvoke_onclick() {
    CachedWebService.GetGurrentTime(onCompleted);
}

function onCompleted(result) {
    $('result').innerHTML 
+= result + "<br />";
}

下面在浏览器中测试一下,在多次点击按钮后,结果如下,可以看到Cache的作用:
 

同时,在Fiddler中可以看到,实际上这些请求还是被发送到了服务器,Cache只是服务器端的实现:

本示例的源代码可以在此下载:http://www.cnblogs.com/Files/dflying/CachedWebServiceDemo.zip

通过Performancing for Firefox发布Blog:【上一篇】
Reports Starter Kit详细介绍(二):【下一篇】
【相关文章】
  • 在ASP.NET Atlas中调用Web Service——在页面加载时调用Web Service
  • asp.net 连接数据库基础的代码
  • ASP.NET 2.0移动开发入门之基础
  • ASP.NET 的编译
  • RedHatAS3安装Apache+Sendmail+OpenWebMail笔
  • WebWork2 Wiki 中文版 1.0a 发布了
  • WF in Asp.Net
  • 在ASP.NET Atlas中调用Web Service——创建Mashup调用远端Web Service(Yahoo!天气实例)
  • PrefixList of WebRequest (Code review for System.Net.Webrequest)
  • Asp.net中动态控制RDLC报表
  • 【随机文章】
  • 可视电话324
  • ISA 术语大全(7)R-S
  • ELF文件格式(中文)(一)
  • WAP中推送技术的分析与设计
  • JSP语法-Scriptlet
  • 发现 protected constructor 的无聊的地方.
  • 显示你个性的鼠标指针
  • [转]heap and stack(堆和栈异同)
  • 内核空间与用户空间通信
  • 分析函數之二
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.