У меня есть [Authorize]
атрибут на HomeController
, когда я пытаюсь получить к нему доступ, он выдает NullReferenceException
Это действительно странно, потому что я использовал [Authorize]
многораз, и это работает просто отлично.Единственная разница в этом случае заключается в том, что это приложение размещено на нашем собственном веб-сервере с использованием Windows 7 и IIS 7.5
Вот трассировка стека:
[NullReferenceException:Ссылка на объект не установлена для экземпляра объекта.]
System.Web.Mvc.AuthorizeAttribute.AuthorizeCore (HttpContextBase httpContext) + 38
System.Web.Mvc.AuthorizeAttribute.OnAuthorization (AuthorizationContext filterContext) + 160 ** System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters (ControllerContext controllerContext, фильтры IList`1, ActionDescriptor actionDescriptor) + 155
System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext action4976, String).Web.Mvc.Controller.ExecuteCore () + 159
System.Web.Mvc.ControllerBase.Execute (RequestContext requestContext) +335 System.Web.Mvc. <> C_ DisplayClassb.b _5 ()+ 62
System.Web.Mvc.Async. <> C_ DisplayClass1.b _0 () + 20
System.Web.Mvc. <> C_ DisplayClasse.b _d () + 54
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +453 System.Web.HttpApplication.ExecuteStep (IExynStion) + 371
Редактировать:
При просмотре кода метода AuthorizeCore
кажется, что AuthorizeCore
выбрасывает NullReferenceException
, потому что он получаетa NULL HttpContextBase
.
Возможно ли это?Поскольку все остальное в приложении работает просто отлично, например, доступ к базе данных, создание файла cookie авторизации и т. Д.
Редактирование 2:
Это происходит только послеопубликовать его на веб-сервере.Во время разработки он работает абсолютно отлично от Visual Studio.