C# net核心(controllerBase)中初始化方法(apiController)的替代方法是什么
我正在将asp.net WebAPI应用程序(继承的APIController)迁移到.net核心API应用程序(继承的ControllerBase)。我有一个参数为System.web.http.controllers.HttpControllerContext的初始化方法C# net核心(controllerBase)中初始化方法(apiController)的替代方法是什么,c#,asp.net-core,C#,Asp.net Core,我正在将asp.net WebAPI应用程序(继承的APIController)迁移到.net核心API应用程序(继承的ControllerBase)。我有一个参数为System.web.http.controllers.HttpControllerContext的初始化方法 除了执行相同功能的initialize方法,还有什么替代方法?我没有ASP.NET WebAPI的经验,但在我的.NET核心WebAPI项目中,我只使用控制器的构造函数和内置的依赖项注入功能来初始化控制器 对于访问Http
除了执行相同功能的initialize方法,还有什么替代方法?我没有ASP.NET WebAPI的经验,但在我的.NET核心WebAPI项目中,我只使用控制器的构造函数和内置的依赖项注入功能来初始化控制器 对于访问
HttpContext
,您可以尝试以下操作:
在Startup.cs
中:
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddHttpContextAccessor();
//...
}
}
这样,您应该能够在控制器方法中使用Controller
class'HttpContext
属性:
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
public class DummyController : Controller
{
[HttpPost]
public ActionResult ProcessMyDummyPostAction()
{
//...
HttpRequest request = HttpContext.Request;
//...
return Ok();
}
}
请在您的帖子中添加更多细节以及您遇到的问题。我认为您应该直接使用
IHttpContextAccessor
而不是访问HttpContext
。