2011-12-15 107 views
2

在Silverlight 4應用程序中,我想增加特定RIA服務加載操作的超時時間(並非針對所有加載,只是在特定情況下)。在Configuring the timeout for a WCF RIA Services call from a Silverlight 3 client我跟着一個鏈接指向,據說會允許我設置超時。配置DomainContext客戶端超時

它似乎工作正常(沒有編譯器錯誤,警告,異常等),除了加載操作仍然提前超時。看起來有或沒有修改端點的代碼,加載操作在2分鐘後超時。在我訂閱的ChannelFactory上有一個Opening事件,並且在加載操作開始時我的處理程序被調用,所以似乎證實ChannelFactory正在被使用。此外,我將所有4個超時值(接收,打開,關閉,發送)設置爲10分鐘,以確保我沒有設置錯誤的值。

爲什麼我無法真正改變RIA加載的超時時間?

回答

0

我發現問題是多個超時正在發揮作用。我爲RIA使用了一個EntityFramework域服務,並且我得到了一個EntityFramework超時。我錯誤地解釋了來自RIA負載的超時源,直到我在堆棧跟蹤中注意到超時是服務器端。我擴展了分配的EntityFramework命令超時以適應我所需的負載行爲。我能夠確認,在獲得對域上下文的通道工廠的引用後,我可以設置RIA客戶端超時。

自我注意:解決超時問題的好方法是首先將其設置爲非常短以確認其按預期工作