我們開發了一個多線程服務器,它接收來自多個客戶端的數據並調用不同的WCF服務。 有很多情況下,兩個(或更多)不同的客戶端同時調用服務器,並且服務器嘗試同時從兩個不同的線程調用遠程WCF。 我們遇到了一些問題,尤其是當遠程WCF服務關閉時。 我們正在做的事情是否正確?這種情況下是否有最佳做法?WCF多線程調用
Q
WCF多線程調用
0
A
回答
0
您需要針對您遇到的問題類型更具體一些,但您可能需要了解冪等性和有狀態服務。
2
大多數情況下,最好的做法是這樣的:
- 您的客戶端調用WCF服務,「每叫」格局
- 從客戶端的每個請求獲得了它自己的,原始服務器類實例處理請求並在完成後處理
- 服務器類因此是單線程的,不可重入的,並且不必處理任何多任務問題
- 服務器類是無狀態的並且不保持到任何服務器資源或任何東西
- 任何「狀態」或需要在呼叫之間保持的數據都存儲在適當的位置,例如,一個數據庫
這是迄今爲止最簡單的設置,應該是您的案例至少80%的最佳選擇。
查看這篇優秀的MSDN Magazine文章Discover Mighty Instance Management Techniques For Developing WCF Apps作者Juwal Lovy瞭解更多關於各種選項的背景信息。
+1
比我能說得簡潔得多。我會補充說這個場景的服務屬性是'InsanceContextMode.PerCall'。如果您使用的是單身或重入式服務,則可能會遇到各種問題。 – roufamatic 2010-04-14 15:46:55
相關問題
- 1. 多個線程調用WCF服務
- 2. WCF + asp.net +多線程
- 3. WCF中的多線程
- 4. 是WCF netMsmqBinding多線程?
- 5. TransX WCF和多線程
- 6. 異步WCF調用保存線程?
- 7. 從後臺線程調用WCF服務
- 8. 多線程,可調用,FutureObject
- 9. 多線程函數調用
- 10. 多線程調用委託
- 11. OpenCV的多線程調用
- 12. 使用JNI從多線程調用Java,多線程
- 13. WCF回調,代理和線程安全
- 14. wcf回調中的懸掛線程
- 15. 調試多線程程序
- 16. 調試多線程程序
- 17. 調試多線程程序
- 18. WCF和線程
- 19. 調試多線程應用程序
- 20. 從多線程程序調用系統()
- 21. 在多線程程序中調用fftw
- 22. Spring.net WCF服務和多線程:管理exec WCF方法的線程數
- 23. 如何在WCF多線程中緩存
- 24. wpf/wcf項目中的多線程
- 25. WCF服務不是多線程的
- 26. WCF併發多線程客戶端
- 27. WCF InstanceContextMode.PerCall服務和多線程
- 28. WCF + Singleton +文件傳輸+多線程
- 29. 多線程WebRequest調用和爭用
- 30. 使用線程多次調用方法
你能否更詳細地解釋你的問題?這似乎不是一種不尋常或不合理的模式。 – Steve 2010-04-14 15:32:38