c# - 如何在 ASP.NET 5 中使用 HttpRequestMessage.CreateResponse<HttpError>()

标签 c# asp.net asp.net-web-api asp.net-core

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

HttpRequestMessageCreateResponse 的正确方法是什么?

更新

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/

相关文章:

c# - 可以从类库 C# 中输出到控制台吗?

c# - asp.net MVC 4 中的动态 RouteConfig

c# - 在 C# 中为图像添加颜色

c# - 如何静态访问 .resx 文件

c# - 为什么我的帖子 JSON 对象没有被序列化?

c# - WPF ListView GridView 单元格样式和绑定(bind)

c# - 如何将不同的CSS类应用到asp :panels in different ItemTemplate?

c# - 使用 Windows 身份验证创建 PrincipalContext

asp.net-web-api - 如何根据接受 header 使用 ASP.NET web mvc 6 返回 xml 或 json

asp.net-mvc - ASP.NET WebApi 与 MVC?