Exemplo n.º 1
0
        /// <summary>
        /// Configures the current <see cref="ConfiguredConnectionFactory"/> based on config options read from <code>_config</code> field
        /// </summary>
        protected void Configure()
        {
            HostName = _config.Host;
            Port = _config.Port;
            UserName = _config.Username;
            Password = _config.Password;
            VirtualHost = _config.VirtualHost;
            AutomaticRecoveryEnabled = true;

            Ssl.Enabled = _config.UseSsl;
            Ssl.Version = SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls;
            if (_config.UseSsl)
            {
                Ssl.AcceptablePolicyErrors = SslPolicyErrors.RemoteCertificateChainErrors | SslPolicyErrors.RemoteCertificateNameMismatch | SslPolicyErrors.RemoteCertificateNotAvailable;
            }

            ClientProperties.Add("SrSdkType", ".net");
            ClientProperties.Add("SrSdkVersion", SdkInfo.GetVersion());
        }
        /// <summary>
        /// Configures the current <see cref="ConfiguredConnectionFactory"/> based on config options read from <code>_config</code> field
        /// </summary>
        protected void Configure()
        {
            HostName    = _config.Host;
            Port        = _config.Port;
            UserName    = _config.Username;
            Password    = _config.Password;
            VirtualHost = _config.VirtualHost;
            AutomaticRecoveryEnabled = true;

            Ssl.Enabled = _config.UseSsl;
            Ssl.Version = SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls;
            if (_config.UseSsl)
            {
                Ssl.AcceptablePolicyErrors = SslPolicyErrors.RemoteCertificateChainErrors | SslPolicyErrors.RemoteCertificateNameMismatch | SslPolicyErrors.RemoteCertificateNotAvailable;
            }

            ClientProperties.Add("SrUfSdkType", ".netstd");
            ClientProperties.Add("SrUfSdkVersion", SdkInfo.GetVersion());
            ClientProperties.Add("SrUfSdkInit", $"{DateTime.Now:yyyyMMddHHmm}");
            ClientProperties.Add("SrUfSdkConnName", "RabbitMQ / NETStd");
            ClientProperties.Add("SrUfSdkBId", $"{_config.BookmakerDetails?.BookmakerId}");
        }
        /// <inheritdoc />
        /// <summary></summary>
        /// <param name="prefix">The prefix to apply to the keys. Defaults to "rabbitmq:"</param>
        public TapetiAppSettingsConnectionParams(string prefix = DefaultPrefix)
        {
            var keys = !string.IsNullOrEmpty(prefix)
                ? ConfigurationManager.AppSettings.AllKeys.Where(k => k.StartsWith(prefix)).Select(k => new AppSettingsKey(k, k.Substring(prefix.Length)))
                : ConfigurationManager.AppSettings.AllKeys.Select(k => new AppSettingsKey(k, k));



            foreach (var key in keys)
            {
                var value = ConfigurationManager.AppSettings[key.Entry];

                if (key.Parameter.StartsWith(KeyClientProperty))
                {
                    ClientProperties.Add(key.Parameter.Substring(KeyClientProperty.Length), value);
                }
                else
                {
                    // ReSharper disable once SwitchStatementMissingSomeCases - don't fail if we encounter an unknown value
                    switch (key.Parameter)
                    {
                    case KeyHostname: HostName = value; break;

                    case KeyPort: Port = int.Parse(value); break;

                    case KeyVirtualHost: VirtualHost = value; break;

                    case KeyUsername: Username = value; break;

                    case KeyPassword: Password = value; break;

                    case KeyPrefetchCount: PrefetchCount = ushort.Parse(value); break;

                    case KeyManagementPort: ManagementPort = int.Parse(value); break;
                    }
                }
            }
        }