我有關於檢查WCF連接是否打開的問題。我的WCF連接是雙向的。我使用State屬性來檢查客戶端的連接狀態。我的功能:關於檢查WCF連接的問題已打開
private bool ConnectionIsOpen()
{
if (m_Service != null && (m_Service.State | CommunicationState.Opened) == CommunicationState.Opened)
{
return true;
}
return false;
}
我創建了一個服務,這是每隔10秒,檢查連接的狀態的線程。我使用ConnectionIsOpen()方法進行檢查。在Windows XP上運行一切都很順利。但是,在Windows 7上運行時出現問題。
當我拔掉網線以創建斷開連接時,如果在Windows XP上運行應用程序,檢查連接的狀態爲Faulted,但如果在Windows 7上運行,檢查連接狀態爲仍然開放。
任何人都可以幫助我如何檢查連接openned或不在此例。謝謝。
你的if語句看起來很滑稽......爲什麼不乾脆: 如果(m_Service = NULL && m_Service.State == CommunicationState!打開) – c0deNinja
如果你不確定if語句在做什麼,你可能想要在不同的道場訓練。 (哈哈我小子我的孩子) 「國家」變量可以有不同的通訊狀態適用於它。 Lu Lu唯一關心的是它是否被打開(它也可以被創建) – feathj
'如果'm_Service!= null',ConnectionIsOpen()總是返回true,可能是創建m_Service時刻時的問題處於連接狀態 – Damith