示例#1
0
        /// <summary>
        /// LoadTcpConfigServer
        /// </summary>
        /// <param name="configHost"></param>
        /// <returns></returns>
        public static TcpSettings LoadTcpConfigServer(string configHost)
        {
            if (string.IsNullOrEmpty(configHost))
            {
                throw new ArgumentNullException("TcpQueueSettings.LoadTcpConfigServer name");
            }
            //TODO
            //return null;
            var config = QueueServerConfig.GetConfig();

            var settings = config.FindTcpServer(configHost);

            if (settings == null)
            {
                throw new ArgumentException("Invalid TcpQueueSettings with TcpName:" + configHost);
            }

            return(new TcpSettings()
            {
                HostName = settings.HostName,
                Address = TcpSettings.EnsureHostAddress(settings.Address),
                Port = settings.Port,
                IsAsync = settings.IsAsync,
                ReceiveBufferSize = settings.ReceiveBufferSize,
                SendBufferSize = settings.SendBufferSize,
                ConnectTimeout = settings.ConnectTimeout,
                //ReceiveTimeout = settings.ReceiveTimeout,
                ReadTimeout = settings.ReadTimeout,
                //ProcessTimeout = settings.ProcessTimeout,
                MaxSocketError = settings.MaxSocketError,
                MaxServerConnections = Math.Max(1, settings.MaxServerConnections)
            });
        }