asp.net-core – 哪些所有类型的HTTP头都在ASP.NET 5中?
发布时间:2020-12-15 20:46:13 所属栏目:asp.Net 来源:网络整理
导读:以前,在WebApi(.NET 4.x)中,我们可以通过类型化的接口处理请求和响应的头部(参见HttpRequestMessage.Headers / HttpResponseMessage.Headers). 现在,在ASP.NET 5中,我们有HttpRequest和HttpResponse,Headers属性类型为IHeaderDictionary.但它只是一个无类型
以前,在WebApi(.NET 4.x)中,我们可以通过类型化的接口处理请求和响应的头部(参见HttpRequestMessage.Headers / HttpResponseMessage.Headers).
现在,在ASP.NET 5中,我们有HttpRequest和HttpResponse,Headers属性类型为IHeaderDictionary.但它只是一个无类型的字典. 下面我给出了一个类型访问的例子,可以返回一个微调的http响应.需要创建一个HttpResponseMessage并填充它的Headers集合(它是btw). HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(manifestContent); response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/cache-manifest"); response.Headers.CacheControl = new CacheControlHeaderValue {NoCache = true,Public = true}; response.Headers.ETag = new EntityTagHeaderValue(""" + etag + """); 解决方法
如果添加Microsoft.AspNetCore.Http的using语句,HttpRequest和HttpResponse对GetTypedHeaders有一些扩展方法,它应该提供你想要的类型安全性.
在示例中,我还添加了Microsoft.Net.Http.Headers的using语句,只是为了清理它. var headers = Response.GetTypedHeaders(); headers.ContentType = new MediaTypeHeaderValue("text/cache-manifest"); headers.CacheControl = new CacheControlHeaderValue { NoCache = true,Public = true }; headers.ETag = new EntityTagHeaderValue(""" + etag + """); 资料来源:aspnet/HttpAbstractions on Github (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 关闭单个字段的输入验证
- asp.net – 如何集成ASP .Net Model View Presenter(MVP)模
- asp.net-mvc – 重用MVC视图同时显示数据和编辑数据
- asp.net – 使用Linq将单个值返回给SQL
- asp.net-mvc – 授权属性生命周期
- asp.net – 对于单个页面,requestFiltering allowDoubleEsc
- wcf – aspNetCompatibilityEnabled =“true”
- asp.net-mvc – asp.net mvc设置数字格式默认十进制千位分隔
- 如何在asp.net-mvc单元测试中生成视图?
- asp.net-mvc – 嵌套的EditorFor / DisplayFor覆盖字段名称