Значение не может быть нулевым. Имя параметра: httpContext для StructureMap.WebApi2 в проекте Web API2
Я использовал пакет nuget StructureMap.WebApi2 для проекта Web API 2. Контроллеры Web API используют инъекцию конструктора для внедрения зависимости репозитория, которая должна быть разрешена с помощью StructureMap Ioc. Теперь, когда я пытаюсь запустить проект, я всегда получаю указанную ниже ошибку: Значение не может быть нулевым. Имя параметра: httpContext Я попытался проверить InnerException, но он имеет нулевое значение. Я получаю это исключение из StructureMapDependencyScope.cs StackTrace: в System.Web.HttpContextWrapper..ctor(HttpContext httpContext) в DemoStructureMapWebAPI.DependencyResolution.StructureMapDependencyScope.get_HttpContext \ Users \ Visual Studio: Visual Studio: \ DemoStructureMapWebAPI \ DemoStructureMapWebAPI \ DependencyResolution \ StructureMapDependencyScope.cs: строка 69 в DemoStructureMapWebAPI.DependencyResolution.StructureMapDependencyScope.get_CurrentNestedContainer () в C:\Users\sapatro\Documents\Visual Studio 2013\Projects\DemoStructureMapWebAPI\DemoStructureMapWebAPI\DependencyResolution\StructureMapDependencyScope.cs: линия 55 по адресу DemoStructureMapWebAPI.DependencyResolution.StructureMapDependencyScope.Dispose () в c:\Users\sapatro\Documents\Visual Studio 2013\Projects\DemoStructureMapWebAPI\DemoStructureMapWebAPI\DependencyResolution\ DemodencyResmap.DI C: \ Users \ sapatro \ Docu ments \ Visual Studio 2013 \ Projects \ DemoStructureMapWebAPI \ DemoStructureMapWebAPI \ App_Start \ StructuremapMvc.cs: строка 44 При проверке кода я обнаружил, что приведенный ниже код дает ошибку, которая является частью StructureMapDependencyScope.cs
private HttpContextBase HttpContext {
get {
var ctx = Container.TryGetInstance<HttpContextBase>();
return ctx ?? new HttpContextWrapper(System.Web.HttpContext.Current);
}
}
Может кто-нибудь предложить мне наилучшие возможные способы решения вышеуказанной проблемы?