加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:22:16 所属栏目:asp.Net 来源:网络整理
导读:在最新的ASP.NET MVC4测试版中,您将如何通过ETag支持有条件的GET支持? ActionFilter需要能够完成为返回的资源生成ETag的请求,以便与请求中的If-None-Match头进行比较。然后,不管If-None-Match头中的传入ETag是否与生成的ETag相同,将生成的ETag添加到ETa
在最新的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纯粹是说明弱实体标记系统。它还显示所需的额外报价。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读