2011-11-21 74 views
1

我目前正在從我的一個操作中調用Facebook圖形API,它會返回一個模型的部分視圖。該視圖返回了大多數網站用戶隱藏的一些數據(它主要用於搜索引擎優化)。MVC3操作超時後返回EmptyResult?

我們有一些軟件可以監控從我們的網站調用外部API所需的時間,我們現在注意到Facebook Graph API需要很長時間來響應,導致我們的用戶永遠等待頁面加載(即使他們可能甚至不會看到我們試圖從API中撤回的內容)。看到這個電話並不是商業重點,我需要一種方法來獲得上述操作,以便簡單地返回一個EmptyResult(),並且在給定的超時時間段之後,不用等待Facebook API的響應。

有誰知道一種方法,我可以設置一個超時的動作,然後返回一個EmptyResult,如果超時超時?

回答

0

不幸的是,MVC中沒有任何東西可以讓你做這樣的事情。

但是,如果你使用MVC2或3,你可以使用asynchronous action methods和你的工作移交給一個CLR線程並同時開始一個Timer,將信號到ASP.NET(using AsyncManager.Sync)返回一個EmptyResult(如果CLR線程工作尚未完成)。