Я пытаюсь создать собственный обработчик ошибок в iis 7.
web.config httpErrors section:
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/path/to/handlerwebservice" responseMode="ExecuteURL" />
</httpErrors>
web.config httpHandler для обработки ошибки:
<add path="*/path/to/handlerwebservice" verb="GET,HEAD" type="WebServices.Image404Handler, WebServices" validate="false" />
Image404Handler c # код:
public void ProcessRequest(HttpContext context)
{
string requestpath;
if (context.Request.QueryString.AllKeys.Contains("aspxerrorpath"))
{
requestpath = context.Request.QueryString["aspxerrorpath"];
}
else
{
requestpath = context.Request.Path;
}
// more code not really relevant here
}
Я не могу понять, как получить путь запроса, который вызвал ошибку 404. В IIS 6 то, что Visual Studio 2008 использует этот путь, добавляется в aspxerrorpath в строке запроса.
Я не могу заставить работать удаленную отладку, поэтому спрашиваю, знает ли кто-нибудь, что делать.