我有空的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);
我正在努力寻找
CreateResponse
以及System.Net.Http.HttpRequestMessageExtensions
类中可用的HttpError
扩展方法。两者以前都在Microsoft.AspNet.WebApi.Core
包中。看完ASP.NET 5代码后,我相信它仅在
Microsoft.AspNet.Mvc.WebApiCompatShim
中可用。但是,它不包括在MVC示例项目中。问题:
什么是
WebApiCompatShim
包,我可以在项目中安全使用它吗?从
CreateResponse
到HttpRequestMessage
的正确方法是什么?更新
This WebApiCompatShimWebSite显示
WebApiCompatShim
是因此,似乎只是出于兼容性目的。我必须重组代码。现在,我发现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/