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); }
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; } }