Мне нужно показывать разные пользовательские страницы ошибок в зависимости от текста ошибки / фразы причины, а не только кода состояния.
Например, если у меня есть этот код:
if (id == 1)
{
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) {ReasonPhrase = "foo"} );
}
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { ReasonPhrase = "bar" });
Я бы хотел, чтобы IIS возвращал один тип пользовательской страницы для 403 foo
, а другой для 403 bar
.Это потому, что мне нужно настроить ошибки, возвращаемые перехватчиком запросов, для которого у нас нет исходного кода.
В идеале мы могли бы указать регулярное выражение ReasonPhrase в дополнение к коду состояния в <httpErrors>
.
Если в IIS нет встроенного пути, я, вероятно, попытался бы создать другой перехватчик запросов и связать его перед собой, чтобы он мог изменять ответы и обслуживать пользовательские страницы ошибок.