Я пытаюсь вернуть клиенту код ошибки HTTP 403. Я читал, что HttpException - самый чистый способ добиться этого, но у меня он не работает. Я генерирую исключение на странице, как это:
throw new HttpException(403,"You must be logged in to access this resource.");
Однако это даст только стандартную трассировку стека ASP.Net (с ошибкой 500), когда CustomErrors выключен. Если CustomErrors включен, это не будет перенаправлять на страницу, которую я настроил для отображения при возникновении ошибки 403. Следует ли мне забыть о HttpException и вместо этого установить все коды HTTP самостоятельно? Как мне это исправить?
В моем Web.Config есть настраиваемые ошибки:
<customErrors mode="On" defaultRedirect="GenericErrorPage.html">
<error statusCode="403" redirect="Forbidden.html" />
</customErrors>
Вместо Forbidden.html я получу GenericErrorPage.html