powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Страница ошибки в ASP.NET MVC
4 сообщений из 4, страница 1 из 1
Страница ошибки в ASP.NET MVC
    #38394460
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! У меня вопрос.

В Web.config указаны страницы для отображения информации о некоторых перехваченных HTTP ошибках:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<system.webServer>
   ... 
   <httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace" defaultResponseMode="ExecuteURL" >
      <remove statusCode="403" subStatusCode="-1" />
      <remove statusCode="404" subStatusCode="-1" />
      <remove statusCode="500" subStatusCode="-1" />
      <error statusCode="403" path="/Error/Http403" responseMode="ExecuteURL" />
      <error statusCode="404" path="/Error/Http404" responseMode="ExecuteURL" />
      <error statusCode="500" path="/Error/Http500" responseMode="ExecuteURL" />
    </httpErrors>
    ...
</system.webServer>


Есть контроллер Error и 3 действия, каждое самостоятельно устанавливает код своей ошибки и возвращает вью.

Работает всё как надо. Но есть вопрос. Для начала приведу некоторые значения Request, которые я получаю в контроллере Error:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Request.IsAjaxRequest = False
Request.HttpMethod = GET
Request.AppRelativeCurrentExecutionFilePath = ~/Error/Http500
Request.CurrentExecutionFilePath = /Error/Http500
Request.FilePath = /Error/Http500
Request.Path = /Error/Http500к
Request.PathInfo = 
Request.QueryString = 500%3bhttp%3a%2f%2flocalhost%3a49668%2fTest%2fThrowInAction
Request.RawUrl = /Test/ThrowInAction
Request.UserAgent = Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36
Request.UserHostAddress = ::1
Request.UrlReferrer = http://localhost:49668/Test/Index
Request.RequestContext.RouteData.Values = [ action = Http500, controller = Error ]
Request.Url.AbsoluteUri = http://localhost:49668/Error/Http500?500;http://localhost:49668/Test/ThrowInAction


Видно, что в полях RawUrl и Url лежит оригинальная ссылка, по которой перешёл пользователь, а в остальных (Path, FilePath...) ссылка, на которую было выполнено внутреннее перенаправление.

Кто-нибудь знает природу такого поведения? Я не нашёл информации в MSDN (может не достаточно хорошо искал).
...
Рейтинг: 0 / 0
Страница ошибки в ASP.NET MVC
    #38394582
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

а в смысле природу? ну работает оно так, при редиректе добавляет урл исходный.
...
Рейтинг: 0 / 0
Страница ошибки в ASP.NET MVC
    #38394634
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria,

то, что добавляет понятно. почему оно оказывается в RawUrl?
...
Рейтинг: 0 / 0
Страница ошибки в ASP.NET MVC
    #38394640
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria,

и кроме того, передаётся также и правильный тип запроса (IsAjaxRequest)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Страница ошибки в ASP.NET MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]