Как решить необходимость использования метода await в инициализации ApiController - PullRequest
0 голосов
/ 09 мая 2018

Итак, у меня есть базовый контроллер, от которого наследуются все контроллеры, и он реализует ApiController, при переопределении инициализации у меня есть что-то вроде этого:

    protected override void Initialize(HttpControllerContext controllerContext)
    {
        var tenantId= requestUtils.GetFromHeader(controllerContext.Request);
        if (tenantId!= null)
            log4net.ThreadContext.Properties["tenantId"] = tenantId;
        else
            log4net.ThreadContext.Properties["tenantId"] = "default";
        await unitOfWork.SetTenantIdentifier(tenantIdentifier);
        base.Initialize(controllerContext);
    }

Мне нужно установить tenantId для unitofwork (так как у меня есть решение для нескольких арендаторов), и ему нужно дождаться (так как мне нужно извлечь что-то из БД), но я не могу сделать Initialize async Task, чтобы я ' я пытаюсь найти обходной путь или около того.

1 Ответ

0 голосов
/ 09 мая 2018
 //await unitOfWork.SetTenantIdentifier(tenantIdentifier);
 unitOfWork.SetTenantIdentifier(tenantIdentifier).Wait();

Вы должны убедиться, что на Wait () нет риска тупика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...