.NET核心中“请求”类/对象的替代方法是什么?

时间:2016-07-14 07:37:28

标签: request asp.net-core uri asp.net-core-1.0

我正在将现有的ASP.NET Web API 2项目迁移到ASP.NET Core。迁移时我无法找到this.Request个对象。任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您需要像这样覆盖您的类才能获得this.Request

public partial class _Default : System.Web.UI.Page

答案 1 :(得分:0)

这个问题被问到here,但由于ASP.NET Core仍然可能处于RC状态,我想我会在这里回答而不是指那里,因为有些东西已经过时或完全消失了从官方发布。

假设您的控制器类继承自Controller(或更具体地,ControllerBase),那么 具有this.Request属性,您可以看到{{3 }和here。正如Pawel所说,您也可以从this.HttpContext属性访问它。

请求的网址被分解为HttpRequest上的多个属性。您可以通过添加using Microsoft.AspNetCore.Http.Extensions;来访问更友好的API中的网址,以便您访问以下扩展方法:

  • GetDisplayUrl()
  • GetEncodedUrl()

就查询字符串而言,HttpRequest提供QueryStringQuery属性供您进行互动。

附注:我刚刚在这台笔记本电脑上创建了一个从头开始针对.NET Core上的ASP.NET Core的应用程序,并且Intellisense需要一段时间才能为Request属性工作,所以我想知道这可能是你的问题。