首页 文章

'/'应用程序中的服务器错误 . 值不能为null问题

提问于
浏览
0

我无法理解本地计算机上此错误可能存在的问题 . 它说了一些与虚拟路径有关的东西,但我尝试过研究,我真的没有想法开始,因为我仍然在学习曲线的步伐.net

这是主要问题

'/'应用程序中的服务器错误 . 值不能为空 . 参数名称:virtualPath描述:执行当前Web请求期间发生未处理的异常 . 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息 . 异常详细信息:System.ArgumentNullException:Value不能为null . 参数名称:virtualPath源错误:在执行当前Web请求期间生成了未处理的异常 . 可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息 . 堆栈跟踪:[ArgumentNullException:值不能为null . 参数名称:virtualPath] System.Web.VirtualPath.Create(String virtualPath,VirtualPathOptions options)8956140 System.Web.Hosting.MapPathBasedVirtualPathProvider.CacheLookupOrInsert(String virtualPath,Boolean isFile)31 System.Web.Hosting.MapPathBasedVirtualPathProvider.DirectoryExists(String virtualDir) 6 Sitecore.Pipelines.HttpRequest.FileResolver.Process(HttpRequestArgs args)105(Object,Object [])64 Sitecore.Pipelines.PipelineMethod.Invoke(Object []参数)36 Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)140 Sitecore .Pipelines.CorePipeline.Run(String pipelineName,PipelineArgs args,String pipelineDomain,Boolean failIfNotExists)158 Sitecore.Pipelines.CorePipeline.Run(String pipelineName,PipelineArgs args,String pipelineDomain)64 Sitecore.Pipelines.CorePipeline.Run(String pipelineName,PipelineArgs args)50 Sitecore.Nexus.Web.HttpModule . (Object sender,EventArgs e)326 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Ex ecute()148 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)75

任何建议从哪里开始调查此问题或可能是这个问题的罪魁祸首?

1 回答

  • 0

    这是在批处理程序中发生的,这是因为我在没有虚拟路径的服务器上重新创建请求 . 我在默认网站上的本地IIS中托管所以路径是 http://localhost/MYAPP/somecontroller . 当我在批处理程序中创建请求时,我试图执行 http://localhost/somecontroller ,这会生成错误 .

    我运行服务器端的代码是:

    var requestUri = new Uri(request.RequestUri, batchRequest.Url);
    

    对于本地开发我改变了

    var requestUri = new Uri(request.RequestUri, batchRequest.Url.Substring(1));
    

    batchRequest.Url将评估为/ controller /方法,删除第一个斜杠导致本地应用程序名称保留在路径中 .

相关问题