Действие MVC3 возвращает EmptyResult после тайм-аута? - PullRequest
1 голос
/ 21 ноября 2011

В настоящее время я вызываю API графика Facebook из одного из моих действий, которое возвращает частичное представление с моделью.Представление возвращает некоторые данные, которые скрыты для большинства пользователей веб-сайта (в основном они используются для SEO).

У нас есть программное обеспечение, которое отслеживает время, необходимое для вызова внешних API с нашего сайта, и время от времени мыВы заметили, что API Graph Facebook требует много времени для ответа, в результате чего наши пользователи всегда ждут загрузки страницы (даже если они, вероятно, даже не увидят контент, который мы пытаемся извлечь из API),Поскольку этот вызов не является критически важным для бизнеса, мне нужен способ заставить вышеупомянутое действие просто вернуть EmptyResult() и просто не тратить время на ожидание ответа от API Facebook после определенного периода ожидания.

Кто-нибудь знает способ, которым я могу установить тайм-аут для действия, а затем вернуть EmptyResult, если тайм-аут превышен?

1 Ответ

0 голосов
/ 21 ноября 2011

К сожалению, в MVC нет ничего (из коробки), что позволило бы вам сделать такую ​​вещь.

Но если вы используете MVC2 или 3, вы можете использовать методы асинхронного действия и передать свою работу потоку CLR и одновременно запустить Таймер , который будет сигнализировать ASP .NET ( с использованием AsyncManager.Sync ) для возврата EmptyResult (если работа потока CLR не завершена).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...