Пользовательская страница ошибок, которую я установил в web.config, не отображается, когда возникает ошибка «Недопустимые символы в пути». Это работает для других ошибок сервера, поэтому я не уверен, что я могу что-то сделать?
Пример запроса, в котором правильно отображается пользовательская страница ошибок: website.com/3f.jsp
Пример запроса, в котором нет: website.com/%3f.jsp
Web.config: <customErrors mode="On" defaultRedirect="ErrorDisplay.aspx"></customErrors>
Stacktrace (customErrors выключен)
[ArgumentException: Illegal characters in path.]
System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str) +276
System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList) +88
System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath) +43
System.IO.Path.GetFullPath(String path) +82
System.Web.HttpApplication.CheckSuspiciousPhysicalPath(String physicalPath) +19
System.Web.Configuration.HttpConfigurationSystem.ComposeConfig(String reqPath, IHttpMapPath configmap) +175
System.Web.HttpContext.GetCompleteConfigRecord(String reqpath, IHttpMapPath configmap) +434
System.Web.HttpContext.GetCompleteConfig() +49
System.Web.HttpContext.GetConfig(String name) +195
System.Web.CustomErrors.GetSettings(HttpContext context, Boolean canThrow) +20
System.Web.HttpResponse.ReportRuntimeError(Exception e, Boolean canThrow) +39
System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e) +486
Я попытался вручную поймать ошибку в обработчике Global.asax Application_Error
, но он так и не был вызван. Application_BeginRequest
даже не вызывается, когда есть недопустимые символы, так где же IIS выдает эту ошибку и есть ли способ отобразить пользовательскую страницу?
Согласно этой статье может мне не повезло.