文章分类
ASP教程 ASP.net教程 PHP教程 JSP教程
 产品搜索
关键字: 分类:

整站搜索:
最新更新资源:
海量设计素材
韩国网页设计模板
高清PSD素材库
Flash网站模板
设计素材图库:
婚纱影楼模板
韩国卡通图库
VIS模板
版式画册模板

最新素材图库



当前位置:首页 >> 编程开发>> ASP.net教程 >> 在ASP.NETAtlas中调用Web Service—应用Cache减小服务器开销

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


作者: Dflying Chen 来源:网络 浏览:3189 日期:2006-6-17 18:13:55

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

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

[WebMethod(CacheDuration = 5)]

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

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

  让我们通过一个示例程序进一步了解Web Service的Cache。

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

[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只是服务器端的实现:

按此在新窗口浏览图片


上一篇:关于asp.net1.0升级到asp.net2.0时发现的一个有趣的问题 下一篇:使ASP.NET中的数据库操作变得简单
【关闭窗口】 【返回顶部】返回编程开发】 【返回ASP.net教程

相关推荐文章

当ASP.NET撞上J..

当ASP.NET撞上J..

ASP.NET 2.0..

ASP.NET 2.0..

为自己的ASP网站系统..

ASP.NET2.0服..

ASP.NET服务器控..


关于本站 | 广告服务 | 联系我们 | 站长微博 | 活动支持 | 友情链接 | 投稿热线 | 网站地图
版权所有 Copyright@ 2005 设计路上 QQ技术讨论群 24980615(已满) 5204059(已满) 4337615(已满)
业务联系Email:huchuangwu@hotmail.com 粤ICP备05029101号