private ReplicationProperties GetProperties()
        {
            if (ReplicationProperties != null)
            {
                return(ReplicationProperties);
            }

            var props = new ReplicationProperties
            {
                InternetLogin       = ConfigurationManager.AppSettings[_configPrefix + "InternetLogin"],
                InternetPassword    = ConfigurationManager.AppSettings[_configPrefix + "InternetPassword"],
                InternetUrl         = ConfigurationManager.AppSettings[_configPrefix + "InternetUrl"],
                Publication         = ConfigurationManager.AppSettings[_configPrefix + "Publication"],
                Publisher           = ConfigurationManager.AppSettings[_configPrefix + "Publisher"],
                PublisherDatabase   = ConfigurationManager.AppSettings[_configPrefix + "PublisherDatabase"],
                PublisherLogin      = ConfigurationManager.AppSettings[_configPrefix + "PublisherLogin"],
                PublisherPassword   = ConfigurationManager.AppSettings[_configPrefix + "PublisherPassword"],
                Distributor         = ConfigurationManager.AppSettings[_configPrefix + "Distributor"],
                DistributorLogin    = ConfigurationManager.AppSettings[_configPrefix + "DistributorLogin"],
                DistributorPassword = ConfigurationManager.AppSettings[_configPrefix + "DistributorPassword"],
                UseNT                 = Convert.ToBoolean(ConfigurationManager.AppSettings[_configPrefix + "UseNT"]),
                Subscriber            = ConfigurationManager.AppSettings[_configPrefix + "Subscriber"],
                UseProxy              = Convert.ToBoolean(ConfigurationManager.AppSettings[_configPrefix + "UseProxy"]),
                InternetProxyLogin    = ConfigurationManager.AppSettings[_configPrefix + "InternetProxyLogin"],
                InternetProxyPassword = ConfigurationManager.AppSettings[_configPrefix + "InternetProxyPassword"],
                InternetProxyServer   = ConfigurationManager.AppSettings[_configPrefix + "InternetProxyServer"]
            };
            var level = Convert.ToInt16(ConfigurationManager.AppSettings[_configPrefix + "CompressionLevel"]);

            if (level != 0)
            {
                props.CompressionLevel = Convert.ToInt16(ConfigurationManager.AppSettings[_configPrefix + "CompressionLevel"]);
            }
            var retry = Convert.ToInt16(ConfigurationManager.AppSettings[_configPrefix + "ConnectionRetryTimeout"]);

            if (retry != 0)
            {
                props.ConnectionRetryTimeout = Convert.ToInt16(ConfigurationManager.AppSettings[_configPrefix + "ConnectionRetryTimeout"]);
            }
            var connect = Convert.ToInt32(ConfigurationManager.AppSettings[_configPrefix + "ConnectTimeout"]);

            if (connect != 0)
            {
                props.ConnectTimeout = Convert.ToInt32(ConfigurationManager.AppSettings[_configPrefix + "ConnectTimeout"]);
            }
            var receive = Convert.ToInt32(ConfigurationManager.AppSettings[_configPrefix + "ReceiveTimeout"]);

            if (receive != 0)
            {
                props.ReceiveTimeout = Convert.ToInt32(ConfigurationManager.AppSettings[_configPrefix + "ReceiveTimeout"]);
            }
            var send = Convert.ToInt32(ConfigurationManager.AppSettings[_configPrefix + "SendTimeout"]);

            if (send != 0)
            {
                props.SendTimeout = Convert.ToInt32(ConfigurationManager.AppSettings[_configPrefix + "SendTimeout"]);
            }
            return(props);
        }
示例#2
0
 private static void SetProperties(ReplicationProperties props, SqlCeReplication repl)
 {
     if (props.UseNT)
     {
         repl.PublisherSecurityMode = SecurityType.NTAuthentication;
     }
     else
     {
         repl.PublisherSecurityMode = SecurityType.DBAuthentication;
     }
     if (props.UseProxy)
     {
         repl.InternetProxyLogin    = props.InternetProxyLogin;
         repl.InternetProxyPassword = props.InternetProxyPassword;
         repl.InternetProxyServer   = props.InternetProxyServer;
     }
     repl.Publisher         = props.Publisher;
     repl.PublisherLogin    = props.PublisherLogin;
     repl.PublisherPassword = props.PublisherPassword;
     repl.PublisherDatabase = props.PublisherDatabase;
     repl.Publication       = props.Publication;
     repl.InternetUrl       = props.InternetUrl;
     repl.InternetLogin     = props.InternetLogin;
     repl.InternetPassword  = props.InternetPassword;
     if (props.CompressionLevel != 1)
     {
         repl.CompressionLevel = props.CompressionLevel;
     }
     if (props.ConnectionRetryTimeout != 120)
     {
         repl.ConnectionRetryTimeout = props.ConnectionRetryTimeout;
     }
     if (props.ConnectTimeout > 0)
     {
         repl.ConnectTimeout = props.ConnectTimeout;
     }
     if (props.ReceiveTimeout != 60000)
     {
         repl.ReceiveTimeout = props.ReceiveTimeout;
     }
     if (props.SendTimeout > 0)
     {
         repl.SendTimeout = props.SendTimeout;
     }
 }