Проблема
В настоящее время я создаю помощник для ASP.net MVC 3 и сталкиваюсь с проблемой, связанной с методом UrlHelper.Action ().При каждом запросе, кроме первого (после запуска приложения), следующий код генерирует исключение NullReferenceException.
var src = htmlHelper.Url().Action("Css", "Asset", options);
Соответствующий стек
System.Web.HttpServerVarsCollection.Get(String name) +8740566
System.Web.Mvc.UrlRewriterHelper.WasThisRequestRewritten(HttpContextBase httpContext) +42
System.Web.Mvc.UrlRewriterHelper.WasRequestRewritten(HttpContextBase httpContext) +23
System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +163
System.Web.Mvc.PathHelpers.GenerateClientUrl(HttpContextBase httpContext, String contentPath) +63
System.Web.Mvc.UrlHelper.GenerateUrl(String routeName, String actionName, String controllerName, RouteValueDictionary routeValues, RouteCollection routeCollection, RequestContext requestContext, Boolean includeImplicitMvcValues) +150
System.Web.Mvc.UrlHelper.Action(String actionName, String controllerName, Object routeValues) +55
Возможная причина
Я использую библиотеку под названием AttributeRouting, которую я установил через nuget и подумал, что это может вызвать проблему, но удаление ссылки не имеет никакого эффекта.
Поскольку он работает с первым запросом, но завершается неудачно для каждого запроса после этогоУ меня такое ощущение, что это как-то связано с кодом, который запускается при запуске приложения, но должен запускаться при запуске запроса, или что некоторые переменные / объекты не сохраняются в запросах.
Дополнительная информация
htmlHelper.Url () - это следующий метод расширения.
public static UrlHelper Url(this HtmlHelper helper)
{
return new UrlHelper(helper.ViewContext.RequestContext);
}