【发布时间】:2015-11-04 07:26:40
【问题描述】:
我有一个空的 Web API 项目以及使用 VS2015 创建的完整 MVC 项目。我注意到HttpRequestMessage 在System.Net.Http 中,这很好,但不适用于下面的CreateResponse:
此代码来自我的异常记录器中间件,该中间件还从以前的 Web API 2 返回格式化的 json。
var resp = request.CreateResponse<HttpError>(HttpStatusCode.InternalServerError, new HttpError("Internal Server Error. Reference: " + guid), config);
我正在努力找出应该在System.Net.Http.HttpRequestMessageExtensions 和HttpError 类中可用的CreateResponse 扩展方法。之前都在Microsoft.AspNet.WebApi.Core 包中。
查看 ASP.NET 5 代码后,我相信它仅在 Microsoft.AspNet.Mvc.WebApiCompatShim 中可用。但是它不包含在 MVC 示例项目中。
问题:
WebApiCompatShim 包是什么,我可以在项目中安全地使用它吗?
从HttpRequestMessage 到CreateResponse 的正确方法是什么?
更新
This WebApiCompatShimWebSite 表明WebApiCompatShim 是
获得类似 Web API 2.* 的行为
所以似乎只是出于兼容性目的。我必须重组代码。现在我发现 MVC 没有任何消息处理程序功能,并且似乎自定义中间件是要走的路。
【问题讨论】:
标签: c# asp.net asp.net-web-api asp.net-core