我可以從Web客戶端收聽WCF事件嗎?這可能嗎?我不是在討論回叫,我希望WCF服務能夠提升和事件,並且Web客戶端能夠傾聽。在C#中有這樣的一個很好的例子嗎?我可以從Web客戶端收聽WCF事件嗎?
1
A
回答
0
WCF中沒有事件。如果您想要模仿事件,您仍然需要調用某些在所有客戶端上公開的操作=您必須調用WCF服務或在客戶端上公開回調。
你是什麼意思的網絡客戶端?你的意思是在Web瀏覽器中運行JavaScript代碼嗎?在這種情況下,不可以用WCF來實現。您只能使用來自borowser的AJAX呼叫,並不斷輪詢服務以查找可能的「事件」。
如果你的意思是ASP.NET應用程序,那麼理論上答案是肯定的,但實際上它會很難。原因是在ASP.NET中,您只處理某個處理程序的當前HTTP請求 - 例如Page。處理程序的生命週期僅用於處理單個請求。由於使用雙工服務沒有多大意義,因爲通過雙工服務接收回傳,您的客戶端代理必須存活。如果您在Page中打開代理服務器,它將在提供請求後終止。如果您在單獨的線程中打開代理,則必須以某種方式將收集的回調與實際客戶端相關聯,但客戶端仍需輪詢Web服務器以通知回調。在ASP.NET應用程序上公開服務時也會出現類似的情況。
異步和雙工呼叫之間的區別很大。在異步模式下,單個請求總是具有單一響應。 Resonse不會在沒有請求的情況下發送。在雙工模式中,您可以發出單一請求並從服務器接收數千次回調。
相關問題
- 1. 我可以收聽PRINT SCREEN事件嗎?
- 2. 我可以在WSIT(Metro)客戶端上使用WCF wsHttpContextBinding嗎?
- 3. WCF客戶端從ASMX web服務
- 4. 我可以以編程方式覆蓋客戶端app.config WCF端點地址嗎?
- 5. 我可以在axis2 Web服務客戶端中使用「硒」嗎?
- 6. XPage客戶端:收聽並觸發一個事件(純CSJS)
- 7. 有多少個客戶端可以同時收聽TcpListener?
- 8. WCF將事件發送到客戶端
- 9. WCF客戶端多事件問題
- 10. 可以使用WCF創建發送/接收byte []的TCP客戶端嗎?
- 11. WCF客戶端和非WCF客戶端
- 12. socket.io客戶端可以在本地發出事件嗎?
- 13. C#客戶端服務器TCP客戶端收聽
- 14. 在Pusher客戶端中接收事件
- 15. 可以通過java客戶端訪問net.tcp服務(WCF)嗎?
- 16. Windows託管服務可以成爲wcf客戶端嗎?
- 17. WCF客戶端:可以同時調用異步方法嗎?
- 18. 我可以從Linux客戶端調用Windows DLL嗎?
- 19. 我可以從Delphi的Indy客戶端發送TCP RST嗎?
- 20. Web客戶端事件處理設計
- 21. 從Windows 2000 WCF客戶端
- 22. 我可以使用HTML5發送客戶端電子郵件嗎?
- 23. 我可以使用JavaScript創建客戶端電子郵件嗎?
- 24. WCF客戶端無法接收對象
- 25. WCF服務 - 客戶端接收CommunicationException
- 26. grpc客戶端斷開連接時可以收到通知嗎?
- 27. http客戶端可以在全身收到前取消reuqest嗎?
- 28. 從Silverlight客戶端上載WCF文件
- 29. 我可以通過服務器實現客戶端 - 客戶端通信嗎?
- 30. 我可以獲得Soundcloud用戶的收聽歷史嗎?
那麼,異步調用WCF方法與雙工消息交換模式有什麼區別?我已經讀過WCF服務可以發佈客戶可以訂閱的事件。但是,我不確定Web客戶端是否可以這樣做。 – Ruwan 2011-03-09 20:36:15
http://msdn.microsoft.com/en-us/magazine/cc163537.aspx#S5 – Ruwan 2011-03-09 20:46:25
羅文,我有這個確切的問題。你有沒有想過如何使用WCF做到這一點。如果是這樣,你認爲你可以回答你自己的問題? – 2011-05-23 01:42:17