コード例 #1
0
        public List <string> GetTraceWritersViaWCF()
        {
            if (string.IsNullOrEmpty(EndpointUri))
            {
                return(null);
            }

            EndpointAddress endpointAddress = new EndpointAddress(EndpointUri);
            NetTcpBinding   binding         = new NetTcpBinding();

            binding.MaxBufferPoolSize                   = int.MaxValue;
            binding.MaxReceivedMessageSize              = int.MaxValue;
            binding.MaxBufferSize                       = int.MaxValue;
            binding.ReaderQuotas.MaxArrayLength         = int.MaxValue;
            binding.ReaderQuotas.MaxBytesPerRead        = int.MaxValue;
            binding.ReaderQuotas.MaxDepth               = int.MaxValue;
            binding.ReaderQuotas.MaxNameTableCharCount  = int.MaxValue;
            binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
            binding.Security.Mode                       = SecurityMode.None;
            binding.CloseTimeout   = new TimeSpan(0, 2, 0);
            binding.OpenTimeout    = new TimeSpan(0, 2, 0);
            binding.ReceiveTimeout = new TimeSpan(0, 2, 0);
            binding.SendTimeout    = new TimeSpan(0, 2, 0);
            binding.Security.Message.ClientCredentialType   = MessageCredentialType.None;
            binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.None;

            List <string> result = null;

            using (TraceProxyService proxy = new TraceProxyService(binding, endpointAddress))
            {
                try
                {
                    var byteWriterList = proxy.GetTraceWritersViaWCF();
                    result = Core.Cmn.Extensions.SerializationExtensions.DeSerializeBinaryToObject <List <string> >(byteWriterList); //Core.cmn.BinaryConverter.Deserialize<List<string>>(proxy.GetTraceWritersViaWCF());

                    proxy.Close();
                }
                catch (FaultException exc)
                {
                    if (exc is System.ServiceModel.FaultException <System.ServiceModel.ExceptionDetail> )
                    {
                        proxy.Abort();
                    }
                    else
                    {
                        proxy.Abort();
                    }
                }
                catch (Exception ex)
                {
                    proxy.Abort();
                }
            }
            return(result);
        }
コード例 #2
0
        public void DeleteWriterTraces(DateTime startDate, DateTime endDate, string writer)
        {
            if (string.IsNullOrEmpty(EndpointUri))
            {
                return;
            }

            EndpointAddress endpointAddress = new EndpointAddress(EndpointUri);
            NetTcpBinding   binding         = new NetTcpBinding();

            binding.MaxBufferPoolSize                   = int.MaxValue;
            binding.MaxReceivedMessageSize              = int.MaxValue;
            binding.MaxBufferSize                       = int.MaxValue;
            binding.ReaderQuotas.MaxArrayLength         = int.MaxValue;
            binding.ReaderQuotas.MaxBytesPerRead        = int.MaxValue;
            binding.ReaderQuotas.MaxDepth               = int.MaxValue;
            binding.ReaderQuotas.MaxNameTableCharCount  = int.MaxValue;
            binding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
            binding.Security.Mode                       = SecurityMode.None;
            binding.CloseTimeout   = new TimeSpan(0, 2, 0);
            binding.OpenTimeout    = new TimeSpan(0, 2, 0);
            binding.ReceiveTimeout = new TimeSpan(0, 2, 0);
            binding.SendTimeout    = new TimeSpan(0, 2, 0);
            binding.Security.Message.ClientCredentialType   = MessageCredentialType.None;
            binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.None;



            using (TraceProxyService proxy = new TraceProxyService(binding, endpointAddress))
            {
                try
                {
                    proxy.DeleteWriterTraces(startDate, endDate, writer);

                    proxy.Close();
                }
                catch (FaultException exc)
                {
                    if (exc is System.ServiceModel.FaultException <System.ServiceModel.ExceptionDetail> )
                    {
                        proxy.Abort();
                    }
                    else
                    {
                        proxy.Abort();
                    }
                }
                catch (Exception ex)
                {
                    proxy.Abort();
                }
            }
        }