public bool Sync(Guid clientId, string clientConnectionString) { try { string serverConnectionString = ConfigurationSettings.AppSettings["ServerConnectionString"].ToString(); string scopeName = "ClientScope-" + clientId; SqlSyncProvider serverProvider = synchronizationHelper.ConfigureSqlSyncProvider(scopeName, serverConnectionString, clientId); SqlSyncProvider destinationProvider = new SqlSyncProvider(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = clientConnectionString; destinationProvider.Connection = cn; destinationProvider.ScopeName = scopeName; SqlSyncProvider destinationProxy = new SqlSyncProvider( scopeName, ((SqlConnection)destinationProvider.Connection)); serverProvider.MemoryDataCacheSize = 100000; if (!string.IsNullOrEmpty(this.batchSpoolLocation)) { serverProvider.BatchingDirectory = this.batchSpoolLocation; destinationProxy.BatchingDirectory = this.batchSpoolLocation; } SyncOperationStatistics statistics = synchronizationHelper.SynchronizeProviders(scopeName, clientConnectionString, serverConnectionString, serverProvider, destinationProxy); TimeSpan diff = statistics.SyncEndTime.Subtract(statistics.SyncStartTime); destinationProxy.Dispose(); this.syncStats = string.Format("Batching: {4} - Total Time To Synchronize = {0}:{1}:{2}:{3}", diff.Hours, diff.Minutes, diff.Seconds, diff.Milliseconds, (this._batchSize > 0) ? "Enabled" : "Disabled"); return(true); } catch (FaultException ex) { return(false); } }
public bool Sync(Guid clientId, string clientConnectionString) { try { string serverConnectionString = ConfigurationSettings.AppSettings["ServerConnectionString"].ToString(); string scopeName = "ClientScope-" + clientId; SqlSyncProvider serverProvider = synchronizationHelper.ConfigureSqlSyncProvider(scopeName, serverConnectionString, clientId); SqlSyncProvider destinationProvider = new SqlSyncProvider(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = clientConnectionString; destinationProvider.Connection = cn; destinationProvider.ScopeName = scopeName; SqlSyncProvider destinationProxy = new SqlSyncProvider( scopeName, ((SqlConnection)destinationProvider.Connection)); serverProvider.MemoryDataCacheSize = 100000; if (!string.IsNullOrEmpty(this.batchSpoolLocation)) { serverProvider.BatchingDirectory = this.batchSpoolLocation; destinationProxy.BatchingDirectory = this.batchSpoolLocation; } SyncOperationStatistics statistics = synchronizationHelper.SynchronizeProviders(scopeName, clientConnectionString, serverConnectionString, serverProvider, destinationProxy); TimeSpan diff = statistics.SyncEndTime.Subtract(statistics.SyncStartTime); destinationProxy.Dispose(); this.syncStats = string.Format("Batching: {4} - Total Time To Synchronize = {0}:{1}:{2}:{3}", diff.Hours, diff.Minutes, diff.Seconds, diff.Milliseconds, (this._batchSize > 0) ? "Enabled" : "Disabled"); return true; } catch (FaultException ex) { return false; } }