Я думаю, что я все еще предпочитаю:
throw new HttpException(401, "Auth Failed")
Я не думаю, что метод Response.StatusCode
вызывает пользовательские ошибки, определенные в файле web.config, например,
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="401" redirect="AuthFailed.htm" />
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
Создание нового исключения определенно вызывает пользовательские ошибки.
Кроме того, вы можете использовать средство регистрации ошибок в масштабах всего приложения, например ELMAH или что-то еще, и я не думаю, что метод Response.StatusCode
также будет регистрироваться там.
Примечание: Теперь я вижу, что в вопросе говорится, что в идеале должна отображаться стандартная страница ошибок IIS. Очевидно, что пользовательские страницы ошибок не нужны . В этом случае я бы использовал метод Response.StatusCode
.