Что является альтернативой для метода инициализации (apiController) в. net core (controllerBase) - PullRequest
0 голосов
/ 30 марта 2020

Я мигрирую asp. net приложение WebAPI (унаследованный APIController) в. net основное API-приложение (унаследованное ControllerBase). У меня есть метод инициализации с параметром System.web.http.controllers.HttpControllerContext.

Какая альтернатива методу инициализации, который выполняет те же функции?

1 Ответ

0 голосов
/ 30 марта 2020

У меня нет опыта работы с ASP. NET WebAPI, но в моих проектах. NET Core 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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...