Страница пользовательской ошибки, установленная в файле web.config, не отображается, когда возникает ошибка «Недействительные символы в пути». Он работает для других ошибок сервера, поэтому я не уверен, что я могу что-то сделать?Пользовательская страница ошибки для «Незаконных символов в пути»
Пример запроса, который показывает правильно пользовательскую страницу Ошибка: website.com/3f.jsp
Пример запроса, который не делает: website.com/%3f.jsp
Web.config: <customErrors mode="On" defaultRedirect="ErrorDisplay.aspx"></customErrors>
StackTrace (CustomErrors Off)
[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
h andler, но это никогда не называется. Application_BeginRequest
даже не вызывается, когда есть незаконные символы, поэтому где IIS выбрасывает эту ошибку и есть ли способ показать пользовательскую страницу?
Согласно this article Возможно, мне повезло.
Я думаю, что вы правы, приятно найти статью TechNet тоже! Я также попытался указать пользовательскую страницу для 500 и т. Д. Через IIS и web.config. Но ни один из них, похоже, не принял, что, я думаю, имеет смысл с тем, что было отмечено в статье TechNet. – MisterIsaak