У меня есть приложение ASP.Net MVC, которое отлично работает на IIS 6.0 / Windows Server 2003. При установке на IIS 7.5 / Windows Server 2008 (интегрированный режим) оно работает, но когда приложение пытается создать URL-адрес, оно запускается в следующую ошибку:
[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.HttpServerVarsCollection.Get(String name) +10960764
System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +345
System.Web.Mvc.PathHelpers.GenerateClientUrl(HttpContextBase httpContext, String contentPath) +80
System.Web.Mvc.UrlHelper.GenerateUrl(String routeName, String actionName, String controllerName, RouteValueDictionary routeValues, RouteCollection routeCollection, RequestContext requestContext, Boolean includeImplicitMvcValues) +256
System.Web.Mvc.UrlHelper.Action(String actionName, String controllerName, RouteValueDictionary routeValues) +36
Эта ошибка возникает, когда я вызываю метод Action объекта UrlHelper из созданного мной пользовательского помощника HTML. Пользовательский помощник HTML получает ссылку на объект UrlHelper и впоследствии использует ее для создания URL-адресов с помощью метода Action. Я заметил, что когда я вызываю метод Action непосредственно из представления, эта ошибка не возникает. Однако из-за этой разницы я не понял причину, по которой она не работает на IIS7, - просто возможный обходной путь.
У вас есть идеи, чтобы решить эту проблему?
Спасибо,