我搜索了一下,如何知道WCF服務是否關閉或者不知道,我才知道知道這一點的唯一方法是調用WCF服務方法。我們可以創建一個只返回true的方法。 在我的情況下,我想顯示一個消息,當服務是關閉的客戶端和WCF服務的其他例外,我想顯示例外情況。最好的辦法是什麼?當WCF服務關閉時顯示消息
回答
這個問題只能解決「客戶端」,因爲服務器只有在WCF服務運行並且配置良好的情況下才能回答「真」。
所有其他情況應該從客戶端進行管理。
用一種簡單的方法,你可以調用這個簡單的服務,如果它回覆它似乎一切正常,否則你會得到一個faultexception或你需要捕捉的異常。
注意異步/等待,您需要在距離網絡通話較近的地方捕獲異常,否則您將得到未捕獲的應用程序異常,從而導致應用程序域崩潰。
按照我的理解,OP的問題更像是:如何顯示異常。 – Sidewinder94
@ Sidewinder94 WCF中的「Destination unreachable」有特定的例外,因此根據異常詳細信息的類型,客戶端應該對發生的事情有個很好的概念。我知道我的東西沒有 – MickyD
@MickyD對不起,如果你誤解了我,對我來說,OP的問題很明顯,他希望拋出異常並在客戶端顯示。 – Sidewinder94
如果服務是你的,那麼繼續並使用返回true的方法。
但是,您應該繼續並使用該服務,因爲它不一定會保持您使用它的整個時間。適度地處理所有操作的臨時超時和錯誤,並相應地顯示消息。
您可以做的一件客戶端事情是發送一個WebRequest並查看它是否返回HttpStatusCode.OK
但它不能保證該服務不會失敗或正在運行。
在使用服務期間,您可能會看到FaultException
,代理和通道狀態錯誤,無效配置(綁定等)和CommunicationException
對象。
您可以在此閱讀更多關於MSDN。
從那裏:當網絡不可用發生
通信錯誤,客戶端使用了不正確的地址或服務主機未偵聽傳入的消息。這種類型的錯誤以CommunicationException或CommunicationException派生類的形式返回給客戶端。執行服務操作期間發生應用程序錯誤。這種錯誤以FaultException或FaultException的形式發送給客戶端。
- 1. Web服務關閉時顯示消息
- 2. 當Weblogic服務器關閉時顯示自定義消息
- 3. 在關閉活動時顯示消息
- 4. 當屏幕關閉時,Firebase消息傳遞服務沒有收到消息
- 5. 當在Java中關閉ExecutorService時顯示友好的消息?
- 6. 當屏幕關閉時服務關閉
- 7. 當調用WCF函數時,消息'底層連接已關閉'
- 8. 顯示警告服務器端檢查後瀏覽器關閉時的消息
- 9. 關閉連接,但不顯示消息
- 10. 顯示來自Project Server 2010的錯誤消息wcf服務
- 11. 如何顯示錯誤消息,當我的服務器關閉/不可用時,使JQuery請求?
- 12. Java套接字服務器僅顯示連接關閉後收到的消息
- 13. 當工作進程關閉後隊列中的消息時,服務未激活
- 14. 位置服務關閉時出現「發生錯誤」消息
- 15. WCF - 消息和消息緩衝區關閉
- 16. 如何在數據庫關閉時顯示自定義消息
- 17. 在模式關閉時不顯示的Flash消息
- 18. 如何在關閉窗口時顯示警告消息?
- 19. 從Windows服務中顯示消息框
- 20. 顯示消息框的Web服務
- 21. 關閉WCF SOAP服務進行維護並提供友好的消息
- 22. 當javascript運行時顯示消息
- 23. 當Tform2被創建時顯示消息?
- 24. 當datagrid爲空時顯示消息
- 25. 當RowFilter不匹配時顯示消息
- 26. 當點擊asp:GridView時顯示消息
- 27. 運行WCF服務時顯示網頁
- 28. 顯示消息時
- 29. 當關閉DB - 顯示java.lang.NullPointerException
- 30. 關閉WCF服務宿主在Visual Studio
圍繞您的wcf服務調用使用try/catch塊。並在catch塊顯示由web服務調用引發的異常?你不是在尋找比它更復雜的東西嗎? – Sidewinder94
其實你甚至不需要返回'true'。讓它成爲'空白'。如果任何部分失敗,服務將自然發生故障 – MickyD