在最新的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纯粹是说明弱实体标记系统。它还显示所需的额外报价。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。