我有一个很大的问题.有实时的设备发送URL“/ updates”.这是这些设备的开发人员的错字.在服务器日志中,它看起来像“/ updates”.
我有一个ManageURL重写模块来处理所有请求而不需要扩展.但这个请求会导致一个HttpException:
System.Web.HttpException: System.Web.HttpException at System.Web.Util.FileUtil.CheckSuspicIoUsPhysicalPath(String physicalPath) at System.Web.HttpContext.ValidatePath() at System.Web.HttpApplication.ValidatePathExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
正如我在日志中看到的那样,URL重写模块甚至没有得到这个URL,所以我无法修复它.
有没有办法使用ASP.NET处理这些URL?
解决方法
好的,这是一个旧的线程,但我喜欢添加一个适用于所有ASP.NET版本的可行的解决方案.看看
this answer in a related thread.它基本上归结于注册到global.asax.cs中的事件PreSendRequestHeaders.
或者,当在ASP.NET 4.0或更高版本上,使用< httpRuntime relaxedUrlToFileSystemMapping =“true”/>在web.config中.