我有空的Web API项目以及使用VS2015创建的完整MVC项目。我注意到HttpRequestMessageSystem.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包,我可以在项目中安全使用它吗?

CreateResponseHttpRequestMessage的正确方法是什么?

更新

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/

10-10 13:45