我目前正在开发一个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