Как программно сгенерировать ошибку 401 на странице ASP.NET
Как видите, это вопрос от разработчика, не 9X_c#.net являющегося веб-сайтом. Я хотел бы иметь 9X_c#.net страницу ASPX, которая при определенных 9X_c# обстоятельствах может генерировать ошибку 9X_.cs-file 401 из кода. В идеале это будет стандартная 9X_aspx страница IIS.
Ответ #1
Ответ на вопрос: Как программно сгенерировать ошибку 401 на странице ASP.NET
Response.StatusCode = 401; Response.End();
9X_asp.net-2.0
- Понятия не имею, почему это было отклонено - это почти то же самое, что и мой (проголосовавший за) ответ, только в виде кода. Конечно, в нем нет ссылок, которые * могут * быть полезны, но это все равн ...
Ответ #2
Ответ на вопрос: Как программно сгенерировать ошибку 401 на странице ASP.NET
Установите Response.StatusCode, а затем - если вам нужно остановить 9X_asp.net-website выполнение - вызовите Response.End().
Ответ #3
Ответ на вопрос: Как программно сгенерировать ошибку 401 на странице ASP.NET
Думаю, я все еще предпочитаю:
throw new HttpException(401, "Auth Failed")
Я не думаю, что 9X_iis метод Response.StatusCode
вызывает пользовательские ошибки, определенные 9X_aspx в файле web.config, например
Создание нового 9X_asp.net исключения определенно вызывает пользовательские 9X_.cs-file ошибки.
Кроме того, вы можете использовать 9X_asp.net-2.0 средство ведения журнала ошибок в масштабе 9X_c#-language всего приложения, например ELMAH или что-то в 9X_asp.net-website этом роде, и я не думаю, что метод Response.StatusCode
тоже 9X_asp.net-2.0 будет там регистрироваться.
Примечание. Теперь я вижу, что 9X_.cs-file в вопросе сказано, что в идеале должна отображаться 9X_c#-language стандартная страница ошибок IIS. Очевидно, что 9X_csharp пользовательские страницы ошибок не нужны. В этом 9X_aspx случае я бы использовал метод Response.StatusCode
.
Ответ #4
Ответ на вопрос: Как программно сгенерировать ошибку 401 на странице ASP.NET
Согласно MSDN, вы должны иметь возможность просто 9X_asp.net-2.0 использовать следующее.
Throw New HttpException(401, "Auth Failed")
Изменить. После просмотра 9X_iis других ответов установка кода статуса будет 9X_asp.net-website более подходящей.
- Я попробовал это, и когда я проверил HTTP-ответ в браузере, я получил 500 (внутренняя ошибка сервера) вместо 401 (неавторизованный ...
Ответ #5
Ответ на вопрос: Как программно сгенерировать ошибку 401 на странице ASP.NET
Еще один комментарий.
Если часть страницы 9X_c# уже была записана в буфер вывода, важно 9X_c# очистить буферизованное содержимое, иначе 9X_asp-net страница может отображаться некорректно.
Это 9X_asp.net-2.0 вполне вероятно в шаблонной среде. например 9X_iis Главные страницы ...
Response.ClearContent(); Response.StatusCode = 401; Response.End();
-
4
-
3
-
5
-
3
-
4
-
3
-
3
-
5
-
2
-
4
-
3
-
2
-
2
-
5
-
11
-
3
-
4
-
35
-
19
-
6
-
3
-
2
-
9
-
4
-
5
-
16
-
1
-
2
-
1
-
5
-
4
-
23
-
2
-
2
-
17
-
2
-
2
-
10
-
4
-
1
-
4
-
22
-
6
-
7
-
7
-
5
-
2
-
3
-
3
-
3