2011-01-06 22 views
2

Iam是MVVM和WPF的新成員。我的WPF應用程序會每2分鐘調用一次Web服務,並在UI中顯示響應。通過單擊UI中的按鈕,提供一次手動調用相同Web服務的機會。我的網絡服務超時是5000ms。我的問題是,如果Web服務需要超過1000毫秒如何避免hanhing UI。 Plz提供了一些提示來實現避免掛在WPF應用程序中的UI

+0

你不能只是增加Web服務的超時? – 2011-01-06 20:13:59

回答

1

基本上,你不應該這樣做,可以採取任何時間執行UI線程上的任何工作。你應該在你的視圖模型中有一些Command對象的形式,它是數據綁定到你的View按鈕的。該命令應該在另一個線程上異步調用Web服務調用。這樣,UI永遠不會掛起,等待命令返回,因爲該命令將很快返回。當異步調用返回時,您可以處理更新任何您需要執行的UI操作。

0

使用後臺工作,如果你想返回數據到UI使用分派器。如果使用.net 4.0使用任務。