我有空的 Web API 项目以及使用 VS2015 创建的完整 MVC 项目。我注意到 HttpRequestMessage
在 System.Net.Http
中,这很好,但不适用于下面的 CreateResponse
:
此代码来 self 的异常记录器中间件,它也从以前的 Web API 2 返回格式化的 json。
var resp = request.CreateResponse<HttpError>(HttpStatusCode.InternalServerError, new HttpError("Internal Server Error. Reference: " + guid), config);
我正在努力寻找 CreateResponse
扩展方法,它应该在 System.Net.Http.HttpRequestMessageExtensions
以及 HttpError
类中可用.两者以前都在 Microsoft.AspNet.WebApi.Core
包中。
查看 ASP.NET 5 代码后,我相信它只在 Microsoft.AspNet.Mvc.WebApiCompatShim
中可用。 .但是它不包含在 MVC 示例项目中。
问题:
什么是 WebApiCompatShim
包,我可以在项目中安全地使用它吗?
从 HttpRequestMessage
到 CreateResponse
的正确方法是什么?
更新
This WebApiCompatShimWebSite表明 WebApiCompatShim
是
to get Web API 2.* like behavior
所以似乎只是为了兼容性目的。我必须重组代码。现在我发现 MVC 没有任何消息处理程序功能,似乎自定义中间件是可行的方法。
最佳答案
如果添加 NuGet 包 Microsoft.AspNet.WebApi.Core
,您将获得所需的扩展。
引用:https://www.nuget.org/packages/microsoft.aspnet.webapi.core/
关于c# - 如何在 ASP.NET 5 中使用 HttpRequestMessage.CreateResponse<HttpError>(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33516001/