HttpControllerContext.Configuration иногда является нулевым во время согласования контента - PullRequest
0 голосов
/ 02 апреля 2019

Мы настраиваем хост ASP.NET 4.6.2 Web Api и замечаем, что некоторые запросы не выполняются из-за следующей ошибки:

HttpControllerContext.Configuration must not be null.

Я не смог воспроизвести проблему и хотелспросить, может ли кто-нибудь направить меня в правильном направлении?

Это трассировка стека:

[0] System.InvalidOperationException "HttpControllerContext.Configuration must not be null."
   at System.Web.Http.Results.NegotiatedContentResult`1.ApiControllerDependencyProvider.EnsureResolved()
   at System.Web.Http.Results.NegotiatedContentResult`1.ApiControllerDependencyProvider.get_ContentNegotiator()
   at System.Web.Http.Results.BadRequestErrorMessageResult.Execute()
   at System.Web.Http.Results.BadRequestErrorMessageResult.ExecuteAsync(CancellationToken cancellationToken)
   at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()

1 Ответ

0 голосов
/ 28 мая 2019

Подобная ошибка произошла в моих тестах при добавлении заголовков в BadRequestErrorMessageResult. Исправление требуется только для инициализации конфигурации контроллера. ... и впоследствии инициализировать запрос.

Итак, настройки моего теста выглядят примерно так:

public class FooControllerTest
{
    private FooController _sut;

    [Setup]
    public void Setup()
    {
        _sut = new FooController();
        _sut.Configuration = new System.Web.Http.HttpConfiguration();
        _sut.Request = new System.Net.Http.HttpRequestMessage();
    }
}

Надеюсь, это поможет.

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