Esempio n. 1
0
        public WebReturn SendMessage(WebRequest webRequest, string clientID, bool isToServer)
        {
            WebReturn webReturn = new WebReturn();
            string    url;

            if (isToServer)
            {
                url = string.Format("net.pipe://localhost/UMPServer");
            }
            else
            {
                url = string.Format("net.pipe://localhost/Client_{0}", clientID);
            }
            NetNamedPipeBinding binding = new NetNamedPipeBinding();

            binding.MaxReceivedMessageSize = int.MaxValue;
            binding.MaxBufferPoolSize      = int.MaxValue;
            binding.MaxBufferSize          = int.MaxValue;
            XmlDictionaryReaderQuotas quotas = new XmlDictionaryReaderQuotas();

            quotas.MaxArrayLength         = int.MaxValue;
            quotas.MaxStringContentLength = int.MaxValue;
            binding.ReaderQuotas          = quotas;
            ChannelFactory <IMessageHandler> factory = new ChannelFactory <IMessageHandler>(binding,
                                                                                            new EndpointAddress(url));
            IMessageHandler handler = factory.CreateChannel();

            try
            {
                return(handler.DealMessage(webRequest));
            }
            catch (Exception ex)
            {
                webReturn.Result  = false;
                webReturn.Code    = 1;
                webReturn.Message = ex.Message;
                return(webReturn);
            }
        }