由于微软的Web service实现是基于Asp.net,所以会出现缓存也就在情理之中了.主要有2中缓存:输出缓存和数据缓存.由于Web Service的缓存管理与asp.net基本是一样的,就不说他的原理,主要说一下在Web service中是如何实现的.

输出缓存

实现方法是在WebMethod这个特性里面加一个属性CacheDuration,如下代码所示

[WebMthod(CacheDuration=30)]

public string HelloWorld(){...}

其单位为秒.

数据缓存

数据缓存主要是存储在Context.Cache之中.而关于数据缓存有一个比较通用的设计模式.

那就是建立一个private 方法,拿取所有的数据(相对所有的数据,依据项目情况而定),并把数据缓存起来,在建议各public的WebMethod方法,此方法就从私有的方法过滤出相关的数据返回给客户端.代码片段如下

private DataSet GetAllUsers()

{

DataSet ds =new DataSet();

if(Context.Cache["cachename"] !=null)

{

return (DataSet)Context.Cache["cachename"];

}

else

{

//....some code to retrieve data from some store

//cache

Context.Cache.Insert("cachename",ds,null,DateTime.Now.AddMinutes(10),TimeSpan.Zero);

return ds;

}

}

//retrieve all users that belongs to a department.

[WebMethod]

public User[] GetUser(string DeptID)

{

DataSet alluser = GetAllUsers();

User[] users =alluser.Tables[0].Rows[5] //注:此处代码仅仅是示例,本身语法是有问题,主要是说明在alluser对象中依据传过来的部门参数进行过滤后,然后返回.

}

转载于:https://www.cnblogs.com/scgw/archive/2011/03/18/1988104.html

Web Service 缓存相关推荐

  1. 为Web Service添加缓存

    缓存就是将调用的Web Service方法得到的响应结果缓存在本地计算机,如果是一个调用频繁的方法或者响应返回的数据较大,可以使用这个方法. 很简单,就是在原来的Web Service方法上添加如下的 ...

  2. (转)WCF光芒下的Web Service

    原文:http://www.cnblogs.com/qingyuan/archive/2012/05/23/2514566.html 学习.NET的开发人员,在WCF的光芒照耀下,Web Servic ...

  3. 使用JAX-RS创建RESTful Web Service

    guice resteasy http://www.cnblogs.com/ydxblog/p/7891224.html http://blog.csdn.net/withiter/article/d ...

  4. Web Service 附件技术的发展及演变

    Web Service 通常将业务数据封装在 SOAP 主体或者 SOAP 消息附件中进行传输,这些附件往往采用 Base64 编码二进制方式进行封装,这将大大增加待传输的数据量,消耗比较长的编码时间 ...

  5. Distributed Systems笔记-Web Service Design Patterns

    CMU 95702 Distributed Systems 笔记.简单介绍 XML-RPC.SOAP.REST 三种 web 服务实现方案以及 RPC.Message.Resource 三种 patt ...

  6. web service notes

    性能提高 压缩传输数据, 减少多次调用, XML解析器的优化和选择, 简化标签, 缓存机制 ref: http://www.ibm.com/developerworks/cn/webservices/ ...

  7. 【REST SOAP】REST和SOAP Web Service的区别比较

    今天遇到一个webservice协议的接口需求,在使用soupUI测试接口连通性的时候,发现使用soupUI新建一个SOAP项目的时候,WSDL链接总是报错打不开(厂家提供的接口规范上写的是SOAP协 ...

  8. 使用XFire+Spring构建Web Service(一)——helloWorld篇

    来源:http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html XFire 是与Axis 2并列的新一代Web Service框架 ...

  9. 构建安全的Xml Web Service系列之如何察看SoapMessage

    上一篇文章地址:构建安全的Xml Web Service系列一之初探使用Soap头 (5-22 12:53)          要分析Xml Web Service的安全性,首先要解决的问题是我们能了 ...

最新文章

  1. 练习:Padding 填充
  2. 散列表查找失败平均查找长度_Python数据结构与算法56:排序与查找:冲突解决方案...
  3. nagios远程系统监测服务
  4. 正则表达式与python re
  5. 十年测试之路的笔记分享
  6. 【Flex】读取本地JSON,然后JSON数据转成XML数据
  7. 如何解决MySQL导入大数据出现的问题
  8. FusionChartsFree在JSP中的用法
  9. 谷歌出品!机器学习常用术语总结
  10. 值得收藏-50个免费可商用图库
  11. js实现:百钱买百鸡, 求红白黑球的个数
  12. 勇敢的心——感动内德
  13. The client was disconnected by the server because of inactivity解决方案
  14. springboot中使用kafka
  15. Mac用Xcode建立TCP和UDP Socket(套接字)编程
  16. python小游戏经典猫和老鼠
  17. Elasticsearch 断路器报错了,怎么办?
  18. 如何搞好团建和提高团队执行力?
  19. CSS开启硬件加速 hardware accelerated
  20. 安卓DataBinding问题:ActivityMainBinding、FragmentHomeBinding类不存在且无法自动导入

热门文章

  1. c++中在堆和栈中申请空间的差别
  2. Sub-Projects in Xcode(Xcode中的子项目)
  3. 事件传递 java_将事件传递/发送到父组件?
  4. SELinux深入理解
  5. Lintcode--1(463)--整数排序
  6. 抖音数据统计_26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
  7. Sass笔记(CSS 的预编译语言)
  8. AUTOSAR从入门到精通100讲(二十三)-AUTOSAR通信篇—PduR模块
  9. 代码android点击效果,GitHub - likaiyuan559/TouchEffects: Android View点击特效TouchEffects,几行代码为所有控件添加点击效果...
  10. 星海中学2021高考成绩查询,广东中考时间2021