Как я могу перехватить и обработать исключение AntiForgeryToken? - PullRequest
0 голосов
/ 09 июля 2010

Я использую jQuery для отправки ($. Post) в действие контроллера и возврата результата JSON.

Если есть какие-либо ошибки, я возвращаю сообщение об ошибке с результатом JSON и показываю его пользователю с модальным.

Однако у меня много проблем с перехватом исключения AFT.

Вместо того, чтобы бросить 500, я просто хочу получить сообщение об ошибке и отправить результат обратно пользователю.

... и, если я просто попытаюсь обработать ошибку, я не могу понять, как остановить ее от отмены выполнения метода действия

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Вы можете перехватить эту ошибку в Application_Error, и если запрос был асинхронным, отправьте соответствующий JSON в ответ, содержащий сообщение об ошибке.

1 голос
/ 09 июля 2010

Ошибка токена не предназначена для обработки вашим кодом - это директива фильтра, которая происходит до фактического выполнения действия (перед выполнением требуется действительный токен - это для безопасности).

Возможно, вы могли бы обойти это, создав собственный ActionFilter - но это проблема (с большой буквы) - я мог бы предложить вам найти другой способ сделать это или позволить ему потерпеть неудачу. Вы также можете выполнить проверку на возвращаемое значение в вашем скрипте - если ничего не происходит, вы можете показать сообщение.

...