我目前正在開發一個wcf發佈訂閱服務。在我的Windows窗體應用程序中,我有一個連接按鈕,試圖訂閱服務。代碼如下wcf服務的異常處理
WSDualHttpBinding binding = (WSDualHttpBinding)client.Endpoint.Binding;
string clientcallbackaddress = binding.ClientBaseAddress.AbsoluteUri;
clientcallbackaddress += Guid.NewGuid().ToString();
binding.ClientBaseAddress = new Uri(clientcallbackaddress);
InstanceContext site = new InstanceContext(null, new mainForm(backgroundFormObject));
PostingContractClient client = new PostingContractClient(site);
client.Subscribe();
MessageBox.Show("Service has been connected!", "Connected");
作爲例外處理,這是我做了什麼,
try
{
//refer to codes above
}
catch (EndpointNotFoundException)
{
MessageBox.Show("WCF Service has not been started.", "Error");
}
catch (CommunicationException)
{
MessageBox.Show("Error");
}
如果我的服務沒有被激活,在點擊連接按鈕,它會加載一段時間在發送第一個錯誤之前,「WCF服務尚未啓動。」 ,之後我激活服務,點擊Connect按鈕會顯示第二個錯誤,即使我的服務處於打開狀態,也是CommunicationException。
任何想法如何解決這一問題?
用於誤差
的通信對象,System.ServiceModel.Channels.ServiceChannel,該錯誤消息不能被用於通信,因爲它是處於故障狀態。
什麼是對的CommunicationException錯誤消息說,是有一個內部異常? – Tim
嗨。用錯誤信息更新了我的帖子。謝謝 – Thomas