WCF rest 的帮助页面和缓存机制

打开vs2010 在工具选项中选择扩展管理器——联机库 安装WCF REST Service Template 40(CS)模板

安装后新建wcf服务应用程序,删除默认建立的文件。

新建RestWcf4HelpPage.svc,代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;namespace RestWcf
{[ServiceBehavior(IncludeExceptionDetailInFaults=false)][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]public class RestWcf4HelpPage : IRestWcf4HelpPage{#region IRestWcf4HelpPage 成员[WebGet(UriTemplate="/Rest/Get/{id}")]public string GetData(string id){return "Hello Rest GetData";}[WebInvoke(UriTemplate="/Rest/Add/{id}",Method="POST")]public string AddData(string id){return "Hello Rest AddData";}[WebInvoke(UriTemplate = "/Rest/Update/{id}", Method = "PUT")]public string UpdateData(string id){return "Hello Rest UpdateData";}[WebInvoke(UriTemplate = "/Rest/Delete/{id}", Method = "Delete")]public string DeleteData(string id){return "Hello Rest DeleteData";}#endregion}[XmlSerializerFormat][ServiceContract]interface IRestWcf4HelpPage{[OperationContract]string GetData(string id);[OperationContract]string AddData(string id);[OperationContract]string UpdateData(string id);[OperationContract]string DeleteData(string id);}
}
View Code

然后在建立RestWcf4Cache.svc,代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;namespace RestWcf
{[ServiceBehavior(IncludeExceptionDetailInFaults=false)][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]public class RestWcf4Cache:IRestWcf4Cache{#region IRestWcf4Cache 成员[AspNetCacheProfile("CacheFor10Senconds")][WebGet(UriTemplate = "/Rest/Get/{id}")]public string GetData(string id){return "Hello Rest GetData " + DateTime.Now.ToString();}#endregion}[ServiceContract]interface IRestWcf4Cache{[OperationContract]string GetData(string id);}
}
View Code

然后在配置web.config文件,其中duration值缓存的有效时间。

<?xml version="1.0" encoding="utf-8"?>
<configuration><system.web><compilation debug="true" targetFramework="4.0" /><caching><outputCacheSettings><outputCacheProfiles ><add name="CacheFor10Senconds" duration="10" varyByParam="format"/><add name="CacheFor30Senconds" duration="30" varyByParam="format"/></outputCacheProfiles></outputCacheSettings></caching></system.web><system.serviceModel><services><service name="RestWcf.RestWcf4HelpPage"><endpoint address="" behaviorConfiguration="RestWcf4HelpPageBehavior"binding="webHttpBinding" contract="RestWcf.IRestWcf4HelpPage" /></service><service name="RestWcf.RestWcf4Cache"><endpoint address="" behaviorConfiguration="RestWcf4CacheBehavior"binding="webHttpBinding" contract="RestWcf.IRestWcf4Cache" /></service></services><behaviors><endpointBehaviors><behavior name="RestWcf4HelpPageBehavior"><webHttp helpEnabled="true" /></behavior><behavior name="RestWcf4CacheBehavior"><webHttp helpEnabled="true" /></behavior></endpointBehaviors><serviceBehaviors><behavior name=""><serviceMetadata httpGetEnabled="true" /><serviceDebug includeExceptionDetailInFaults="false" /></behavior></serviceBehaviors></behaviors><serviceHostingEnvironment aspNetCompatibilityEnabled="true"multipleSiteBindingsEnabled="true" /></system.serviceModel><system.webServer><modules runAllManagedModulesForAllRequests="true"/></system.webServer></configuration>

 帮助页面的效果如下图

get请求结果如下图

缓存效果如图,缓存的时间设置为10s,在10s内结果都是下图,超过时间后就是另一个结果了

转载于:https://www.cnblogs.com/ZJ199012/p/4078890.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构杂谈番外篇——时间复杂度计算

我们先给出推导的方法&#xff0c;然后下面一步一步来推导。 推导大O阶 用常数1取代运行时间中的所有加法常数在修改后的运行次数函数中&#xff0c;只保留最高阶项如果最高阶存在且不是1&#xff0c;则去除这个项相乘的常数所得结果即为大O阶 示例 int sum 0&#xff0c;…

DOM对象和JQuery对象的区别

jQuery对象和DOM对象使用说明&#xff0c;需要的朋友可以参考下。1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象&#xff0c;哪些是 DOM对象&#xff0c;因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.DOM对象&#xff0c;即是我们用传统的方…

Eclipse 构建Maven项目

http://www.iteye.com/topic/1123225转载于:https://www.cnblogs.com/svennee/p/4079102.html

Winform可读取html语言,C# Winform 用WebBrowser实现 Html 编辑功能

介绍一款Winform中使用的html editor (Html编辑控件)&#xff0c;不过这不是一款新控件&#xff0c;它就是.Net平台开发人员所熟知的WebBrowser控件—_—.WebBrowser也可以实现Html编辑和预览功能。你只需要使用WebBrowser的设计模式去编辑&#xff0c;用第二个WebBrowser去预览…

Java学习笔记(二):String

String 在Java中String是作为引用对象存在的一种数据类型&#xff0c;用来保存字符串。 实例化和赋值 //直接声明 String s1 "Hello world!"; //通过构造函数创建, 提供了 11 种不同参数创建的方法 char[] c { h, e, l, l, o, .}; String s2 new String(c); Strin…

数据结构杂谈(一)

在你点进来这里的一瞬间&#xff0c;欢迎你找到了宝藏 这是一些关于数据结构和算法里最详细的阐述和学习心得&#xff0c;我十分乐意和你分享这些知识。 如果你已经看完这篇杂谈&#xff0c;可以前往下一篇→数据结构杂谈&#xff08;二&#xff09;_尘鱼好美的小屋-CSDN博客 1…

计算器排html页面,htmltest~计算器界面的实现

通过divcss和部分布局的作用&#xff0c;实现了&#xff0c;如下效果的计算器展示页面![C%]R$IGDK4J(%3LJXD3]SY.png&#xff0c;废话不多说&#xff0c;最主要的还是分享代码&#xff1a;html&#xff1a;Title.计算器-口 X编辑(E)查看(V)帮助(H)BackspaceCECMC789/sqrtMR456*…

git 常用方法

1.删除远程tag或者branchgit push origin --delete (tagName)/(brachName).例如&#xff1a;删除远程2.1branch&#xff1a;git push origin --delette 2.12.检出某次commit时的代码&#xff08;通过commit index检出&#xff09;git checkout commit的SHA1值例如&#xff1a;g…

win7 git 添加 ssh key

分两步走&#xff0c;借助git bash客户端&#xff1a;第一步&#xff1a;生成秘钥创建SSH key. 在用户主目录下&#xff0c; 看看有没有.ssh目录&#xff0c; 如果有&#xff0c; 再看看这个目录下有没有id_rsa 和 id_rsa.pub 这两个文件&#xff0c; 如果已经有了&#xff0c;…

解决三星手机EditText背景色的问题

问题描述android:background"#ffffff"其他手机手机背景都是白色&#xff0c;三星却是黑色的。怎么办 解决方案1写个主题测试下 解决方案2检查是三星的手机换背景色解决方案3你自己设置下edittext的背景就好了 解决方案4三星手机没这bug&#xff0c;你的固件不是正常的…

操作系统随笔(二)

如果你还没有读过第一篇随笔&#xff0c;请点击这里→操作系统随笔&#xff08;一&#xff09; 文章目录[toc]2 进程和线程2.1 进程2.1.1 进程模型2.1.2 进程的创建2.1.3 进程的终止2.1.4 进程的层次结构2.1.5 进程的状态2.1.6 进程的实现2.2 线程2.2.1 进程的使用2.2.2 经典的…

golang实现常用数据结构

2019独角兽企业重金招聘Python工程师标准>>> 1.数组栈的实现 package mainimport ( "fmt")type ItemType inttype Stack struct { node [10]ItemType maxsize int top int}func StackInit(p *Stack) { p.top -1}func StackCheckFull(p *Stack) bo…

html label修改字体颜色,Swift label文字显示不同颜色(字体)

根据 Stack Overflow 上的这篇文章 大概有三种方法:1. 先设置整个 text 为 NSMutableAttributedString, 再使用 Range 设置要改变颜色(字体)的文本var myString:NSString "I AM KIRIT MODI"var myMutableString NSMutableAttributedString()In ViewDidLoadoverride…

【问题解决】无法创建新的堆栈防护页面

【问题发现】 项目中需要几个自定义的控件,菜鸟D定义了一个接口,打算使用多态来统一调用。在完成两个自定义控件后&#xff0c;项目都能正常运行。但是在第三个控件使用的时候就出了问题&#xff1a;将控件拖到界面上以后&#xff0c;不能拖动改变控件的宽度&#xff0c;一拖动…

html里空间顺序,按空间顺序写我的房间作文

导语&#xff1a;人人的房间都是不一样的&#xff0c;因为每个人都有自己独特的性格和思想。下面是由小编整理的关于按空间顺序写我的房间作文。欢迎阅读&#xff01;篇一&#xff1a;我的房间作文(按空间顺序)我的房间在客厅的东面&#xff0c;床的右侧是一面窗户&#xff0c;…

一分钟了解阿里云产品:RDS概述

下面我们来介绍下阿里云的云数据库&#xff08;Relational Database Service&#xff0c;简称RDS&#xff09;这款产品。一起来学习下吧。 那么&#xff0c;RDS是什么呢&#xff1f;简单来说&#xff0c;它是一种稳定可靠、可弹性伸缩的在线数据库服务。 RDS基于飞天分布式系统…

Python速忆笔记(更新中)

你好&#xff0c;如果你是第一次看我的笔记&#xff0c;欢迎您关注我&#xff0c;我喜欢持续分享更多有意思的干货。如果能够帮到您的话&#xff0c;希望你给我点个赞❤️ 文章目录1.1 快速回忆1.1.1 打印和注释1.1.1.1 打印1.1.1.2 注释1.1.2 字符串1.1.2.1 概述1.1.2.2 拼接1…

读书

博客注册有一段时间了&#xff0c;但是一直没开张。冒着虽然写东西也还是会长草的危险&#xff0c;我还是先贴几个字吧&#xff0c;一方面是好歹给自己一个开始&#xff0c;一方面也是有人想看。其实后者更重要&#xff0c;这个跟我们写代码很像&#xff0c;很多时候你关注一些…

java及python调用RabbitMQ

1,python调用MQ发送消息(生产者),话不多说,直接上干货 import pika 如下图 2.java调用MQ发送消息(生产者) 具体代码如下: python 的代码如下 connection pika.BlockingConnection(pika.ConnectionParameters(IP,端口,/))channel connection.channel()msg_props pika.Bas…

android模块化 osgi,蚂蚁金融级移动应用 osgi 模块化架构实践.pdf

蚂蚁金融级移动应用 osgi 模块化架构实践To p 1 0 0 C a s eS t u d i e s O f T h e Ye a r s-AndroidTo p 1 0 0 C a s eS t u d i e s O f T h e Ye a r s1“Application” App“Service”2BundleComponent3MultiDexTo p 1 0 0 C a s eS t u d i e s O f T h e Ye a r s-300…