public static ISeatManageService CreateChannelSeatManageService(string readerOperateEndpointAddress)
        {
            NetTcpBinding binding = new NetTcpBinding();

            binding.Security.Mode = SecurityMode.None;
            binding.ReaderQuotas.MaxArrayLength         = int.MaxValue;
            binding.ReaderQuotas.MaxBytesPerRead        = int.MaxValue;
            binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
            binding.MaxReceivedMessageSize = int.MaxValue;
            binding.CloseTimeout           = new TimeSpan(0, 5, 0);
            binding.OpenTimeout            = new TimeSpan(0, 5, 0);

            string endPointAddress = readerOperateEndpointAddress + "SeatManageDateService/";
            ChannelFactory <ISeatManageService> proxy = new ChannelFactory <ISeatManageService>(binding, new EndpointAddress(endPointAddress));

            foreach (OperationDescription op in proxy.Endpoint.Contract.Operations)
            {
                DataContractSerializerOperationBehavior dataContractBehavior = op.Behaviors.Find <DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior;
                if (dataContractBehavior != null)
                {
                    dataContractBehavior.MaxItemsInObjectGraph = int.MaxValue;
                }
            }
            ISeatManageService obj = proxy.CreateChannel();

            return(obj);
        }
        private static string readerOperateEndpointAddress;// = ConfigurationManager.ConnectionStrings["EndpointAddress"].ConnectionString;
        public static ISeatManageService CreateChannelSeatManageService()
        {
            if (ConfigurationManager.ConnectionStrings["EndpointAddress"] != null)
            {
                readerOperateEndpointAddress = SeatManageComm.AESAlgorithm.AESDecrypt(ConfigurationManager.ConnectionStrings["EndpointAddress"].ConnectionString);
            }
            else
            {
                throw new Exception("未设置远程服务连接字符串");
            }

            NetTcpBinding binding = new NetTcpBinding();

            binding.Security.Mode = SecurityMode.None;
            binding.ReaderQuotas.MaxArrayLength         = int.MaxValue;
            binding.ReaderQuotas.MaxBytesPerRead        = int.MaxValue;
            binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
            binding.MaxReceivedMessageSize = int.MaxValue;
            binding.CloseTimeout           = new TimeSpan(0, 10, 0);
            string endPointAddress = readerOperateEndpointAddress + "SeatManageDateService/";
            ChannelFactory <ISeatManageService> proxy = new ChannelFactory <ISeatManageService>(binding, new EndpointAddress(endPointAddress));

            foreach (OperationDescription op in proxy.Endpoint.Contract.Operations)
            {
                DataContractSerializerOperationBehavior dataContractBehavior = op.Behaviors.Find <DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior;
                if (dataContractBehavior != null)
                {
                    dataContractBehavior.MaxItemsInObjectGraph = int.MaxValue;
                }
            }
            ISeatManageService obj = proxy.CreateChannel();

            return(obj);
        }
Beispiel #3
0
 public WcfSeatManageService(ISeatManageService seatManageService)
 {
     _seatManageService = seatManageService ?? throw new ArgumentNullException(nameof(seatManageService));
 }