Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MVC - Сценарии использования ActionExecutingContext.Result
|
|||
|---|---|---|---|
|
#18+
Обычно этот тип используют во всяких фильтрах, типа ActionFilterAttribute. Например, в методе Код: c# 1. Я под дебагом смотрю - Result по дефолту null. Если я его в фильтре использую, то это свойство для перенаправления используется - скажем, если юзер не авторизован, то перенаправляю его на страницу залогинивания. Но нигде не написано, что делать, если перенаправлять не надо, а надо продолжить запрос. Я просто оставляю этот Result null'ом (т. е. не присваиваю ему ничего), если мне не нужно перенаправление. Вроде, работает - т. е. продолжается запрос. Это правильный сценарий использования? Я вот раньше пытался присвоить этому Result такую штуку Код: c# 1. и, естественно, получал бесконечный цикл в фильтре (фильтр всё время перенаправлял на тот же метод, на котором этот фильтр срабатывал), на который браузер выдавал "Object moved to here". Гуглил-гуглил, как это обойти - нашёл только вот - т. е. что-то, связанное с "промывкой" потока ответа. И, судя по тому, что это связано с потоками - это старая версия из ASP.NET (без MVC), т. к. вроде там Response и Request были потоками. Вобщем непонятно. И я подумал, что это какое-то сложное и странное решение, и должно быть что-то попроще. Наткнулся где-то на реализацию авторизационного фильтра (через дотнетовский интерфейс IAuthorizationFilter), где Result'у (правда, это был AuthorizationContext.Result) присваивался RedirectToRouteResult (с перенаправлением на страницу залогинивания), только если юзер был неавторизован, а если был авторизован, то ничего не происходило. И решил тоже ничего не присваивать Result'у, если мне не нужно перенаправление. Но в том-то и штука, что такой сценарий нигде не описан! Может, кто даст ссылку, где сказано, как работать с ActionExecutingContext.Result ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2014, 14:02 |
|
||
|
MVC - Сценарии использования ActionExecutingContext.Result
|
|||
|---|---|---|---|
|
#18+
user7320 Но в том-то и штука, что такой сценарий нигде не описан! Может, кто даст ссылку, где сказано, как работать с ActionExecutingContext.Result перед вызовом действия контроллера срабатывает аспект фильтра, где можно отменить выполнение действия контроллера, присвоив своё значение Result. по-моему всё просто и очевидно. вы чего сделать-то хотите? для авторизации с перенаправлением необходимо просто проверять какое действие должно выполниться или правильно реализовать фильтр авторизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2014, 15:55 |
|
||
|
MVC - Сценарии использования ActionExecutingContext.Result
|
|||
|---|---|---|---|
|
#18+
hVostt, мне надо было только узнать, правильно ли я работал с Result: если надо "перехватить", то присваиваю ему новый ActionResult, а если "всё в порядке - продолжить", то ничего Result не присваиваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2014, 18:21 |
|
||
|
MVC - Сценарии использования ActionExecutingContext.Result
|
|||
|---|---|---|---|
|
#18+
Мне почему-то казалось, что Result'у значение надо присваивать всегда, и в случае, когда перенаправление не требуется (т. е. надо продолжить текущий запрос), ему надо присвоить текущий УРЛ: Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2014, 18:23 |
|
||
|
MVC - Сценарии использования ActionExecutingContext.Result
|
|||
|---|---|---|---|
|
#18+
user7320, да, правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2014, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=77&tid=1357478]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 362ms |

| 0 / 0 |
