protected TcpTransportBindingElement(System.ServiceModel.Channels.TcpTransportBindingElement elementToBeCloned) { }
private static System.ServiceModel.Channels.Binding GetBindingForEndpoint(EndpointConfiguration endpointConfiguration) { if ((endpointConfiguration == EndpointConfiguration.NetHttpOrdered_WSReliableMessaging11_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); reliableBindingElement.ReliableMessagingVersion = System.ServiceModel.ReliableMessagingVersion.WSReliableMessaging11; result.Elements.Add(reliableBindingElement); result.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement()); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.NetHttpUnordered_WSReliableMessaging11_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); reliableBindingElement.Ordered = false; reliableBindingElement.ReliableMessagingVersion = System.ServiceModel.ReliableMessagingVersion.WSReliableMessaging11; result.Elements.Add(reliableBindingElement); result.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement()); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.NetHttpOrdered_WSReliableMessagingFebruary2005_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); result.Elements.Add(reliableBindingElement); result.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement()); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.NetHttpUnordered_WSReliableMessagingFebruary2005_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); result.Elements.Add(reliableBindingElement); result.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement()); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.NetTcpOrdered_WSReliableMessaging11_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); reliableBindingElement.ReliableMessagingVersion = System.ServiceModel.ReliableMessagingVersion.WSReliableMessaging11; result.Elements.Add(reliableBindingElement); result.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement()); System.ServiceModel.Channels.TcpTransportBindingElement tcpBindingElement = new System.ServiceModel.Channels.TcpTransportBindingElement(); tcpBindingElement.MaxBufferSize = int.MaxValue; tcpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(tcpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.NetTcpUnordered_WSReliableMessaging11_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); reliableBindingElement.Ordered = false; reliableBindingElement.ReliableMessagingVersion = System.ServiceModel.ReliableMessagingVersion.WSReliableMessaging11; result.Elements.Add(reliableBindingElement); result.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement()); System.ServiceModel.Channels.TcpTransportBindingElement tcpBindingElement = new System.ServiceModel.Channels.TcpTransportBindingElement(); tcpBindingElement.MaxBufferSize = int.MaxValue; tcpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(tcpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.NetTcpOrdered_WSReliableMessagingFebruary2005_IWcfReliableService)) { System.ServiceModel.NetTcpBinding result = new System.ServiceModel.NetTcpBinding(); result.MaxBufferSize = int.MaxValue; result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max; result.MaxReceivedMessageSize = int.MaxValue; result.Security.Mode = System.ServiceModel.SecurityMode.None; result.ReliableSession.Enabled = true; return(result); } if ((endpointConfiguration == EndpointConfiguration.NetTcpUnordered_WSReliableMessagingFebruary2005_IWcfReliableService)) { System.ServiceModel.NetTcpBinding result = new System.ServiceModel.NetTcpBinding(); result.MaxBufferSize = int.MaxValue; result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max; result.MaxReceivedMessageSize = int.MaxValue; result.Security.Mode = System.ServiceModel.SecurityMode.None; result.ReliableSession.Enabled = true; return(result); } if ((endpointConfiguration == EndpointConfiguration.WSHttpOrdered_WSReliableMessaging11_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); reliableBindingElement.ReliableMessagingVersion = System.ServiceModel.ReliableMessagingVersion.WSReliableMessaging11; result.Elements.Add(reliableBindingElement); System.ServiceModel.Channels.TextMessageEncodingBindingElement textBindingElement = new System.ServiceModel.Channels.TextMessageEncodingBindingElement(); result.Elements.Add(textBindingElement); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.WSHttpUnordered_WSReliableMessaging11_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); reliableBindingElement.Ordered = false; reliableBindingElement.ReliableMessagingVersion = System.ServiceModel.ReliableMessagingVersion.WSReliableMessaging11; result.Elements.Add(reliableBindingElement); System.ServiceModel.Channels.TextMessageEncodingBindingElement textBindingElement = new System.ServiceModel.Channels.TextMessageEncodingBindingElement(); result.Elements.Add(textBindingElement); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.WSHttpOrdered_WSReliableMessagingFebruary2005_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); result.Elements.Add(reliableBindingElement); System.ServiceModel.Channels.TextMessageEncodingBindingElement textBindingElement = new System.ServiceModel.Channels.TextMessageEncodingBindingElement(); result.Elements.Add(textBindingElement); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } if ((endpointConfiguration == EndpointConfiguration.WSHttpUnordered_WSReliableMessagingFebruary2005_IWcfReliableService)) { System.ServiceModel.Channels.CustomBinding result = new System.ServiceModel.Channels.CustomBinding(); System.ServiceModel.Channels.ReliableSessionBindingElement reliableBindingElement = new System.ServiceModel.Channels.ReliableSessionBindingElement(); result.Elements.Add(reliableBindingElement); System.ServiceModel.Channels.TextMessageEncodingBindingElement textBindingElement = new System.ServiceModel.Channels.TextMessageEncodingBindingElement(); result.Elements.Add(textBindingElement); System.ServiceModel.Channels.HttpTransportBindingElement httpBindingElement = new System.ServiceModel.Channels.HttpTransportBindingElement(); httpBindingElement.AllowCookies = true; httpBindingElement.MaxBufferSize = int.MaxValue; httpBindingElement.MaxReceivedMessageSize = int.MaxValue; result.Elements.Add(httpBindingElement); return(result); } throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); }
private void MainForm_Load(object sender, EventArgs e) { try { if (loaded) { return; } #region 启动门禁监控 NavigationWorkForm navigationForm = null; foreach (DockContent frm in this.dockPanel.Contents) { if (frm is NavigationWorkForm) { frm.Activate(); //激活子窗体 return; } } navigationForm = ServiceLoader.LoadService <IMenJinControler>() as NavigationWorkForm; navigationForm.ShowHint = DockState.Document; navigationForm.Show(dockPanel); #endregion #region IReStartService var irestartservice = ServiceLoader.LoadService <IReStartService>(); irestartservice.Start(); #endregion ; #region hostZKService if (hostZKService == null) { hostZKService = new ServiceHost(typeof(CardSystem_Service.ZKManage.ZKService)); System.ServiceModel.Channels.Binding binding = new NetTcpBinding(SecurityMode.None); string strUrl = string.Format("net.tcp://{0}:{1}/ZK/ZKService", IPAddress.Any, SystemConfig.WcfServicePort); //string strUrl = string.Format("net.tcp://{0}:{1}/ZK/ZKService", "192.168.0.170", SystemConfig.WcfServicePort); hostZKService.AddServiceEndpoint(typeof(CardSystem_Service.ZKManage.IZKService), binding, strUrl); if (hostZKService.Description.Behaviors.Find <System.ServiceModel.Description.ServiceMetadataBehavior>() == null) { System.ServiceModel.Channels.BindingElement elemnt = new System.ServiceModel.Channels.TcpTransportBindingElement(); System.ServiceModel.Channels.CustomBinding bind = new System.ServiceModel.Channels.CustomBinding(elemnt); hostZKService.Description.Behaviors.Add(new System.ServiceModel.Description.ServiceMetadataBehavior()); hostZKService.AddServiceEndpoint(typeof(System.ServiceModel.Description.IMetadataExchange), bind, strUrl + "/Mex"); } hostZKService.Faulted += Service_Faulted; } if (hostZKService.State != CommunicationState.Opened) { hostZKService.Open(); } #endregion ; #region menjincontrolerservice if (menjincontrolerservice == null) { menjincontrolerservice = new ServiceHost(typeof(MenJinControlerService)); System.ServiceModel.Channels.Binding binding = new NetTcpBinding(SecurityMode.None) { MaxReceivedMessageSize = 2147483647 }; //string strUrl = string.Format("net.tcp://{0}:{1}/MenJinControlerService", "192.168.0.170", SystemConfig.WcfServicePort); string strUrl = string.Format("net.tcp://{0}:{1}/MenJinControlerService", IPAddress.Any, SystemConfig.WcfServicePort); menjincontrolerservice.AddServiceEndpoint(typeof(IMenJinControlerService), binding, strUrl); if (menjincontrolerservice.Description.Behaviors.Find <System.ServiceModel.Description.ServiceMetadataBehavior>() == null) { System.ServiceModel.Channels.BindingElement elemnt = new System.ServiceModel.Channels.TcpTransportBindingElement(); System.ServiceModel.Channels.CustomBinding bind = new System.ServiceModel.Channels.CustomBinding(elemnt); menjincontrolerservice.Description.Behaviors.Add(new System.ServiceModel.Description.ServiceMetadataBehavior()); menjincontrolerservice.AddServiceEndpoint(typeof(System.ServiceModel.Description.IMetadataExchange), bind, strUrl + "/Mex"); } menjincontrolerservice.Faulted += Service_Faulted; } if (menjincontrolerservice.State != CommunicationState.Opened) { menjincontrolerservice.Open(); } #endregion #region UdpMsgService var udpmsgservice = ServiceLoader.LoadService <IUdpMsgService>(); udpmsgservice.Start(); #endregion ; #region UdpMsgTimerService var iudpmsgtimerservice = ServiceLoader.LoadService <IUdpMsgTimerService>(); iudpmsgtimerservice.Start(); #endregion ; loaded = true; } catch (Exception ex) { loaderror = true; Logger.Writer.Write(ex); Application.Restart(); } }
private void StartService(string serverIP, string serverPort, string localPort) { if (!(NetworkingToolkit.ValidateIPAddress(serverIP) && NetworkingToolkit.ValidatePort(serverPort) && NetworkingToolkit.ValidatePort(localPort))) { throw new ArgumentException() { Source = "ListeningForm.StartService(string serverIP, string serverPort, string localPort)" } } ; ////endereço do player Uri baseAddress = new Uri(String.Format("net.tcp://{0}:{1}/PlayerService/{2}", NetworkingToolkit.LocalIPAddress, localPort, Guid.NewGuid())); ////endpoint para onde as mensagens de announcement serão enviadas Uri announcementEndpointAddress = new Uri(String.Format("net.tcp://{0}:{1}/Announcement", serverIP, serverPort)); //criar o host do serviço serviceHost = new ServiceHost(typeof(PlayerService), baseAddress); try { ////Adicionar um endpoint para o serviço //NetTcpBinding tcpBindingService = new NetTcpBinding(); //tcpBindingService.Security.Mode = SecurityMode.None; //Alterar a autenticação para um modelo melhor ////tcpBindingService.Security.Transport.ProtectionLevel = System.Net.Security.ProtectionLevel.None; //tcpBindingService.MaxReceivedMessageSize = 10000000; //tcpBindingService.MaxBufferSize = 10000000; //tcpBindingService.MaxBufferPoolSize = 10000000; //ServiceEndpoint netTcpEndpoint = serviceHost.AddServiceEndpoint(typeof(IPlayer), tcpBindingService, string.Empty); //Criar um endpoint para o announcement server, que aponta para o DiscoveryProxy NetTcpBinding tcpBindingAnnouncement = new NetTcpBinding(); tcpBindingAnnouncement.Security.Mode = SecurityMode.None; //Alterar a autenticação para um modelo melhor ////http://nerdwords.blogspot.pt/2008/01/wcf-error-socket-connection-was-aborted.html AnnouncementEndpoint announcementEndpoint = new AnnouncementEndpoint(tcpBindingAnnouncement, new EndpointAddress(announcementEndpointAddress)); //Criar um DiscoveryBehaviour e adicionar o endpoint ServiceDiscoveryBehavior serviceDiscoveryBehavior = new ServiceDiscoveryBehavior(); serviceDiscoveryBehavior.AnnouncementEndpoints.Add(announcementEndpoint); #if EXPOSE_METADATA //Adicionar um endpoint MEX (Metadata EXchange) por TCP System.ServiceModel.Channels.BindingElement bindingElement = new System.ServiceModel.Channels.TcpTransportBindingElement(); System.ServiceModel.Channels.CustomBinding binding = new System.ServiceModel.Channels.CustomBinding(bindingElement); System.ServiceModel.Description.ServiceMetadataBehavior metadataBehavior = serviceHost.Description.Behaviors.Find <System.ServiceModel.Description.ServiceMetadataBehavior>(); if (metadataBehavior == null) { metadataBehavior = new System.ServiceModel.Description.ServiceMetadataBehavior(); serviceHost.Description.Behaviors.Add(metadataBehavior); } serviceHost.AddServiceEndpoint(typeof(System.ServiceModel.Description.IMetadataExchange), binding, "MEX"); #endif //Adicionar o serviceDiscoveryBehavior ao host para poder ser descoberto serviceHost.Description.Behaviors.Add(serviceDiscoveryBehavior); serviceHost.Open(); Clipboard.SetText(baseAddress.ToString()); } catch (CommunicationException e) { Log(e); } catch (TimeoutException e) { Log(e); } catch (Exception ex) { Log(ex); } } void serviceHost_UnknownMessageReceived(object sender, UnknownMessageReceivedEventArgs e) { Log("Mensagem desconhecida recebida"); Log(e.Message.ToString()); } void serviceHost_RefreshState(object sender, EventArgs e) { this.RefreshState(); }
protected TcpTransportBindingElement(System.ServiceModel.Channels.TcpTransportBindingElement elementToBeCloned) { Contract.Requires(elementToBeCloned != null); }