如何在 ASP.NET 5 中使用 HttpRequestMessage.CreateResponse()

2024-04-03

我有空的 Web API 项目以及使用 VS2015 创建的完整 MVC 项目。我注意到HttpRequestMessage is in System.Net.Http,那很好,但不适合CreateResponse below:

这段代码来自我的异常记录器中间件,它也从以前的 Web API 2 返回格式化的 json。

var resp = request.CreateResponse<HttpError>(HttpStatusCode.InternalServerError, new HttpError("Internal Server Error. Reference: " + guid), config);

我正在努力找出CreateResponse据说可用的扩展方法System.Net.Http.HttpRequestMessageExtensionsHttpError班级。两者之前都在Microsoft.AspNet.WebApi.Core包裹。

查看 ASP.NET 5 代码后,我相信它仅适用于Microsoft.AspNet.Mvc.WebApiCompatShim https://github.com/aspnet/Mvc/tree/6.0.0-beta6/src/Microsoft.AspNet.Mvc.WebApiCompatShim。但是它不包含在 MVC 示例项目中。

问题:

What is WebApiCompatShim包,我可以在项目中安全地使用它吗?

正确的方法是什么CreateResponse from HttpRequestMessage?

Update

此 WebApiCompatShim 网站 https://github.com/aspnet/Mvc/blob/6.0.0-beta8/test/WebSites/WebApiCompatShimWebSite/readme.md表明WebApiCompatShim is

获得类似 Web API 2.* 的行为

所以似乎只是出于兼容性目的。我必须重构代码。现在我发现 MVC 没有任何消息处理程序功能,并且似乎自定义中间件是可行的方法。


如果添加 NuGet 包Microsoft.AspNet.WebApi.Core,您将获得您正在寻找的扩展。

参考:https://www.nuget.org/packages/microsoft.aspnet.webapi.core/ https://www.nuget.org/packages/microsoft.aspnet.webapi.core/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ASP.NET 5 中使用 HttpRequestMessage.CreateResponse() 的相关文章

随机推荐