Example #1
0
        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 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;
            }
        }
Example #4
0
        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);
        }