你的位置:首页 > 软件开发 > ASP.net > ASP.NET Web API中通过ETag实现缓存

ASP.NET Web API中通过ETag实现缓存

发布时间:2016-01-20 00:00:13
通常情况下Server是无状态的,在ASP.NET Web API中,我们可以让服务端响应体中产生ETag属性,起到缓存的作用。大致实现原理是:1、服务端的响应体中返回一个ETag属性2、客户端通过If-None-Match属性把ETag的属性值传递给服务端3、服务端返回304状 ...

 

通常情况下Server是无状态的,在get='_blank'>ASP.NET Web API中,我们可以让服务端响应体中产生ETag属性,起到缓存的作用。大致实现原理是:1、服务端的响应体中返回一个ETag属性响应体中返回ETag属性安装CacheCow.Server在WebApiConfig.cs中配置:using CacheCow.Server;var cacheHandler = new CachingHandler();此时,在客户端发出请求:User-Agent:Fiddler在返回的消息中存在一个ETag属性。ETag:W/"..."通常情况下,服务器重启或IIS重启都会影响ETag的值。此时,再把ETag放到请求体中:User-Agent:Fiddler服务端返回304 Not Found.意味着自从Entity被创建后未曾被改变过。响应体中返回ETag, LastModified属性var cacheHandler = new CachingHandler();此时,在客户端发出请求:User-Agent:Fiddler在返回的消息中存在一个ETag属性。ETag:W/"..."此时,再把ETag放到请求体中:User-Agent:Fiddler服务端返回304 Not Found.并且有Last-Modified属性,表示上次修改的时间。响应体中返回与Sql Server相关的ETag属性安装CacheCow.Server.EntityTagStore.SqlServervar connString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;还要在Sql Server上加一个存储过程。→打开项目所在文件夹此时,在客户端发出请求:User-Agent:Fiddler在返回的消息中存在一个ETag属性。ETag:"..."但此时ETag的属性值没有以"W/"开头。此时,再把ETag放到请求体中:User-Agent:Fiddler服务端返回304 Not Found.意味着自从Entity被创建后未曾被改变过。

 


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ASP.NET Web API中通过ETag实现缓存

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。