我无法理解本地计算机上此错误可能存在的问题。 它说了一些与虚拟路径有关的东西,但我尝试过研究,我真的没有想法开始,因为我仍然处于学习曲线的步伐.net
这是主要问题
>'/'应用程序中的服务器错误。值不能为空。参数名称: virtualPath描述:在此期间发生未处理的异常 执行当前的Web请求。请查看堆栈跟踪 有关错误及其来源的更多信息 代码。异常详细信息:System.ArgumentNullException:值不能为null。 参数名称:virtualPath
来源错误:
执行期间生成了未处理的异常 当前的网络请求。有关的来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈追踪:
[ArgumentNullException:Value不能为null。参数名称: virtualPath] System.Web.VirtualPath.Create(String virtualPath, VirtualPathOptions选项)+8956140
System.Web.Hosting.MapPathBasedVirtualPathProvider.CacheLookupOrInsert(字符串 virtualPath,Boolean isFile)+31
System.Web.Hosting.MapPathBasedVirtualPathProvider.DirectoryExists(字符串 virtualDir)+6
Sitecore.Pipelines.HttpRequest.FileResolver.Process(HttpRequestArgs args)+105(对象,对象[])+64
Sitecore.Pipelines.PipelineMethod.Invoke(Object [] parameters)+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.Execute() +148 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+75
任何建议从何处开始调查此问题或可能是此问题的罪魁祸首?
答案 0 :(得分: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 /方法,删除第一个斜杠导致本地应用程序名称保留在路径中。