IIS показывает разные пользовательские страницы ошибок для одного и того же кода состояния в зависимости от фразы причины - PullRequest
0 голосов
/ 21 января 2019

Мне нужно показывать разные пользовательские страницы ошибок в зависимости от текста ошибки / фразы причины, а не только кода состояния.

Например, если у меня есть этот код:

        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 нет встроенного пути, я, вероятно, попытался бы создать другой перехватчик запросов и связать его перед собой, чтобы он мог изменять ответы и обслуживать пользовательские страницы ошибок.

...