在开发 mvc Web 应用程序期间,我遇到了运行站点本地实例的问题。当我尝试重新加载页面时,在第一次成功加载后,我看到以下错误。如果我通过 VS 虚拟服务器运行该站点,则没有问题。我的应用程序池正在以集成模式运行,并且正在运行 .net 4。知道为什么会发生这种情况吗?这是足够的信息吗?
[NullReferenceException:未将对象引用设置为对象的实例。] System.Web.HttpServerVarsCollection.Get(String name) +109 System.Web.Mvc.UrlRewriterHelper.WasThisRequestRewritten(HttpContextBase httpContext) +59 System.Web.Mvc.PathHelpers .GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +213 System.Web.Mvc.PathHelpers.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) +168 System.Web.Mvc.PathHelpers.GenerateClientUrl(HttpContextBase httpContext, String contentPath) +148 LeadManager.Web .UI.Helpers.MenuHelper.GenerateUrl(String url) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:1132 LeadManager.Web.UI.Helpers.MenuHelper.BuildLeadManagementMenu(Menu navMenu, Agent agent ) 在 C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs 中:554 LeadManager.Web.UI.Helpers.MenuHelper.AddNavMenu(Agent agent) in C:\Development\Hg\LeadManager\Web.UI\Helpers\MenuHelper.cs:530 c:\Development\ Hg\LeadManager\Web\Views\Shared_Layout.cshtml:115 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +172 System.Web.WebPages.WebPageBase.Write(HelperResult result) +88 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action\Development\Hg\LeadManager\Web\Views\Shared_Layout.cshtml:115 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103 System.Web.WebPages.WebPageBase。 ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +172 System.Web.WebPages.WebPageBase.Write(HelperResult result) +88 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action)\Development\Hg\LeadManager\Web\Views\Shared_Layout.cshtml:115 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +103 System.Web.WebPages.WebPageBase。 ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +172 System.Web.WebPages.WebPageBase.Write(HelperResult result) +88 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action)Write(HelperResult 结果) +88 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, ActionWrite(HelperResult 结果) +88 System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action
1 body) +233 System.Web.WebPages.WebPageBase.PopContext() +233 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +377 System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +32 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 续)+748196 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter 过滤器,ResultExecutingContext preContext,Func1 continuation) +748196 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList1 过滤器,ActionResult actionResult)+265 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,String actionName)+748160 System. Web.Mvc.Controller.ExecuteCore() +159 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +334 System.Web.Mvc.<>c_ DisplayClassb.b _5() +62 System.Web.Mvc.Async .<>c_ DisplayClass1.b _0() +15 System.Web.Mvc.<>c_ DisplayClasse.b_d() +52 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +437 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&completedSynchronously) +354
MenuHelper 用于构建导航菜单。失败的代码是 if 之外的 return 语句:
private static string GenerateUrl(string url)
{
if (instance == null)
{
// hack to enable using this on old web forms pages
return UrlHelper.GenerateContentUrl(url, new HttpContextWrapper(HttpContext.Current));
}
return (new UrlHelper(instance.htmlHelper.ViewContext.RequestContext)).Content(url);
}
private static string GenerateUrl(string actionName, string controllerName)
{
if (instance == null)
{
// hack to enable using this on old web forms pages
return GenerateUrl(String.Format("{0}/{1}", controllerName, actionName));
}
if (instance.htmlHelper == null)
throw new InvalidOperationException("htmlHelper has not been populated.");
if (instance.htmlHelper.ViewContext == null)
throw new InvalidOperationException("ViewContext has not been populated.");
if (instance.htmlHelper.ViewContext.RequestContext == null)
throw new InvalidOperationException("RequestContext has not been populated.");
UrlHelper urlHelper = new UrlHelper(instance.htmlHelper.ViewContext.RequestContext);
if (urlHelper == null)
throw new InvalidOperationException("UrlHelper has not been populated.");
if (String.IsNullOrEmpty(actionName))
throw new InvalidOperationException("actionName has not been populated.");
if (String.IsNullOrEmpty(controllerName))
throw new InvalidOperationException("controllerName has not been populated.");
return (urlHelper.Action(actionName, controllerName));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |