//var service = DuplexChannelFactory<MsgSubscribe.IMsgSubscribe>.CreateChannel(instanceContext, new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:8739/CommonServiceLibrary/MsgSubscribe/")); //cs.Subscribe(); public Form1() { InitializeComponent(); try { ((PublishCallbackImp)callback).OnRecvSubMsgEvent += Form1_OnRecvSubMsgEvent; InstanceContext instanceContext = new InstanceContext(callback); cs = new BroadcastSub.BroadcastingSubscribeClient(instanceContext); cs.Subscribe(); } catch (Exception err) { cs.Abort(); textBox2.Text = "通道出现异常, " + DateTime.Now.ToString(); MessageBox.Show(err.Message); } }
private void timer1_Tick(object sender, EventArgs e) { if (cs.State == CommunicationState.Faulted || cs.State == CommunicationState.Closed) { textBox2.Text = "通道出现异常, " + DateTime.Now.ToString(); cs.Abort(); try { InstanceContext instanceContext = new InstanceContext(callback); cs = new BroadcastSub.BroadcastingSubscribeClient(instanceContext); cs.Subscribe(); } catch (Exception ) { cs.Abort(); } } }