asp.net-mvc-4 – 在ASP.NET MVC4 WebAPI中实现ETag支持

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-4 – 在ASP.NET MVC4 WebAPI中实现ETag支持前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在最新的ASP.NET MVC4测试版中,您将如何通过ETag支持有条件的GET支持? ActionFilter需要能够完成为返回的资源生成ETag的请求,以便与请求中的If-None-Match头进行比较。然后,不管If-None-Match头中的传入ETag是否与生成的ETag相同,将生成的ETag添加到ETag响应头。但是使用ASP.NET MVC4,我不知道从哪里开始。有什么建议么?

解决方法

就个人而言,我不是“框架魔法”的粉丝,而是喜欢在网络方法中使用普通旧的代码,否则我们最终会得到类似于WCF,yuk的东西。

因此,在您的Get Web方法中,手动创建响应:

var response = this.Request.CreateResponse(HttpStatusCode.OK,obj);
string hash = obj.ModifiedDate.GetHashCode().ToString();

response.Headers.ETag =
    new EntityTagHeaderValue(String.Concat("\"",hash,"\""),true);

return response;

请注意,从时间戳的哈希码产生的ETag纯粹是说明弱实体标记系统。它还显示所需的额外报价。

猜你在找的asp.Net相关文章