private void doProcCloseSessionResponse(BallyCCloseSessionResponse res) { if (res.Result == _SYS_CODE.SYS_SUCCESS) { UserInformation.Occupied = false; //EventInformation.Enabled = false; UserInformation.SessionID = String.Empty; UserInformation.Group = String.Empty; _DeviceInfo = null; _Client = null; } }
private bool doCreateClient() { bool retVal = true; try { if (_SSL) { NetTcpBinding binding = new NetTcpBinding(SecurityMode.TransportWithMessageCredential); binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Certificate; binding.Security.Message.ClientCredentialType = MessageCredentialType.Certificate; binding.MaxReceivedMessageSize = Int32.MaxValue; binding.MaxBufferSize = Int32.MaxValue; binding.ReaderQuotas.MaxArrayLength = Int32.MaxValue; binding.ReaderQuotas.MaxStringContentLength = Int32.MaxValue; InstanceContext ic = new InstanceContext(GloryDeviceHelper.Instance); Uri uri = new Uri(string.Format("net.tcp://{0}:{1}/GDB", _ServerName, _ServerPort)); EndpointAddress epa = new EndpointAddress(uri); _Client = new BallyClient(new InstanceContext(Instance), binding, epa); //_Client.ClientCredentials.ClientCertificate.SetCertificate // (StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, _CertificateThumbprint); _Client.ClientCredentials.ClientCertificate.SetCertificate (StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerName, "GloryCA"); _Client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.PeerOrChainTrust; } else { //get binding name from app config string BindingName = ""; Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ServiceModelSectionGroup serviceModelSectionGroup = ServiceModelSectionGroup.GetSectionGroup(configuration); if (serviceModelSectionGroup.Bindings.NetTcpBinding.ConfiguredBindings.Count <= 0) { retVal = false; LogManager.WriteLog("AppConfig doesn't have a binding (i.e. binding name is missing)", LogManager.enumLogLevel.Error); return retVal; } BindingName = serviceModelSectionGroup.Bindings.NetTcpBinding.ConfiguredBindings[0].Name; NetTcpBinding binding = new NetTcpBinding(BindingName); InstanceContext ic = new InstanceContext(GloryDeviceHelper.Instance); Uri uri = new Uri(string.Format("net.tcp://{0}:{1}/GDB", _ServerName, _ServerPort)); EndpointAddress epa = new EndpointAddress(uri); _Client = new BallyClient(new InstanceContext(Instance), binding, epa); } foreach (OperationDescription op in _Client.ChannelFactory.Endpoint.Contract.Operations) { DataContractSerializerOperationBehavior dataContractBehavior = op.Behaviors.Find<DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior; if (dataContractBehavior != null) { dataContractBehavior.MaxItemsInObjectGraph = Int32.MaxValue; } } //_Client.ChannelFactory.Endpoint.Binding.SendTimeout = new TimeSpan(0, 2, 0); } catch (Exception x) { retVal = false; LogManager.WriteLog(DispenserType + "doCreateClient :" + x.ToString(), LogManager.enumLogLevel.Error); } return retVal; }
private bool doCreateClient() { bool retVal = true; try { if (_SSL) { NetTcpBinding binding = new NetTcpBinding(SecurityMode.TransportWithMessageCredential); binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Certificate; binding.Security.Message.ClientCredentialType = MessageCredentialType.Certificate; binding.MaxReceivedMessageSize = Int32.MaxValue; binding.MaxBufferSize = Int32.MaxValue; binding.ReaderQuotas.MaxArrayLength = Int32.MaxValue; binding.ReaderQuotas.MaxStringContentLength = Int32.MaxValue; InstanceContext ic = new InstanceContext(GloryDeviceHelper.Instance); Uri uri = new Uri(string.Format("net.tcp://{0}:{1}/GDB", _ServerName, _ServerPort)); EndpointAddress epa = new EndpointAddress(uri); _Client = new BallyClient(new InstanceContext(Instance), binding, epa); //_Client.ClientCredentials.ClientCertificate.SetCertificate // (StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, _CertificateThumbprint); _Client.ClientCredentials.ClientCertificate.SetCertificate (StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerName, "GloryCA"); _Client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.PeerOrChainTrust; } else { //get binding name from app config string BindingName = ""; Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ServiceModelSectionGroup serviceModelSectionGroup = ServiceModelSectionGroup.GetSectionGroup(configuration); if (serviceModelSectionGroup.Bindings.NetTcpBinding.ConfiguredBindings.Count <= 0) { retVal = false; LogManager.WriteLog("AppConfig doesn't have a binding (i.e. binding name is missing)", LogManager.enumLogLevel.Error); return(retVal); } BindingName = serviceModelSectionGroup.Bindings.NetTcpBinding.ConfiguredBindings[0].Name; NetTcpBinding binding = new NetTcpBinding(BindingName); InstanceContext ic = new InstanceContext(GloryDeviceHelper.Instance); Uri uri = new Uri(string.Format("net.tcp://{0}:{1}/GDB", _ServerName, _ServerPort)); EndpointAddress epa = new EndpointAddress(uri); _Client = new BallyClient(new InstanceContext(Instance), binding, epa); } foreach (OperationDescription op in _Client.ChannelFactory.Endpoint.Contract.Operations) { DataContractSerializerOperationBehavior dataContractBehavior = op.Behaviors.Find <DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior; if (dataContractBehavior != null) { dataContractBehavior.MaxItemsInObjectGraph = Int32.MaxValue; } } //_Client.ChannelFactory.Endpoint.Binding.SendTimeout = new TimeSpan(0, 2, 0); } catch (Exception x) { retVal = false; LogManager.WriteLog(DispenserType + "doCreateClient :" + x.ToString(), LogManager.enumLogLevel.Error); } return(retVal); }