Iam是MVVM和WPF的新成員。我的WPF應用程序會每2分鐘調用一次Web服務,並在UI中顯示響應。通過單擊UI中的按鈕,提供一次手動調用相同Web服務的機會。我的網絡服務超時是5000ms。我的問題是,如果Web服務需要超過1000毫秒如何避免hanhing UI。 Plz提供了一些提示來實現避免掛在WPF應用程序中的UI
2
A
回答
5
這將是一個實現多線程的好地方,在一個線程中執行所有的web應用程序通信,允許主UI線程響應用戶輸入。
以下是幾個鏈接讓你去:
3
關於使用線程如何? MSDN有一個良好的,從早在2007年的基礎寫了:
WPF Threads: Build More Responsive Apps with The Dispatcher
確保你不要只注意給調遣,而且第二上BackgroundWorker
。
如果你不熟悉的線程在所有(這似乎像它可能是這種情況),那麼你或許應該從MSDN普通線程基礎開始了:
2
1
基本上,你不應該這樣做,可以採取任何時間執行UI線程上的任何工作。你應該在你的視圖模型中有一些Command對象的形式,它是數據綁定到你的View按鈕的。該命令應該在另一個線程上異步調用Web服務調用。這樣,UI永遠不會掛起,等待命令返回,因爲該命令將很快返回。當異步調用返回時,您可以處理更新任何您需要執行的UI操作。
0
使用後臺工作,如果你想返回數據到UI使用分派器。如果使用.net 4.0使用任務。
相關問題
- 1. 如何避免在Windows CE應用程序中的UI閃爍?
- 2. 如何避免UI掛起與調用?
- 3. 如何避免在WPF全屏應用程序中閃爍?
- 4. 我應該避免UI時,iOS應用程序在後臺
- 5. 如何避免Silverlight應用程序掛起問題...?
- 6. 掛在啓動WPF應用程序
- 7. 避免應用程序[過程]
- 8. WPF應用程序的響應UI
- 9. WpF應用程序的響應UI
- 10. 避免掛在conn.getresponse()(httplib.HTTPConnection)
- 11. WPF Windows 7應用程序掛起
- 12. WinForms ReportViewer掛起應用程序WPF
- 13. 避免重新啓動應用程序
- 14. 避免再次啓動應用程序
- 15. 避免UIWebView加載iTunes應用程序
- 16. Console.Write()將掛在WPF中,但在Console應用程序中工作
- 17. 避免在實用程序中等待/通知掛起/恢復線程
- 18. 我應該在生產應用程序中避免打包嗎?
- 19. 在我的jsf應用程序中避免jQuery的衝突
- 20. 避免在應用
- 21. 在java中避免導入的包裝應用程序
- 22. 避免在基於文檔的Cocoa應用程序中耦合?
- 23. c#WPF UI在UI線程中更新數據時掛起
- 24. 避免線程掛起或終止
- 25. 如何避免在MFC應用程序中使用按鈕?
- 26. .NET WPF應用程序UI結構
- 27. 如何避免.Validating()取消導致應用程序退出掛起?
- 28. 在IIS中避免應用程序池熱身
- 29. 如何避免應用程序在同步請求中崩潰
- 30. 如何避免在Cordova Android應用程序中覆蓋AndroidManifest.xml?
你不能只是增加Web服務的超時? – 2011-01-06 20:13:59