コード例 #1
0
        /// <summary>
        /// Check to see if the passed in SQL provider needs Schema from server.
        /// This method assumes the provider is remote and uses a proxy instead
        /// of directly leveraging a provider.
        /// </summary>
        /// <param name="localProvider"></param>
        private void CheckIfProviderNeedsSchema(string scopeName, string clientConnectionString, string serverConnectionString, SqlSyncProviderProxy remoteProxy)
        {
            if (remoteProxy != null && remoteProxy.NeedsScope(scopeName, clientConnectionString))
            {
                SqlSyncProviderProxy serverProxy = new SqlSyncProviderProxy(scopeName, serverConnectionString);

                DbSyncScopeDescription scopeDesc = serverProxy.GetScopeDescription(scopeName, serverConnectionString);

                serverProxy.Dispose();

                remoteProxy.CreateScopeDescription(scopeDesc);
            }
        }
コード例 #2
0
        /// <summary>
        /// Check to see if the passed in  SqlSyncProvider needs Schema from server
        /// </summary>
        /// <param name="localProvider"></param>
        private void CheckIfProviderNeedsSchema(SqlSyncProvider localProvider, string serverConnectionString)
        {
            if (localProvider != null)
            {
                SqlConnection conn = (SqlConnection)localProvider.Connection;
                SqlSyncScopeProvisioning sqlConfig = new SqlSyncScopeProvisioning(conn);
                string scopeName = localProvider.ScopeName;

                if (!sqlConfig.ScopeExists(scopeName))
                {
                    SqlSyncProviderProxy serverProxy = new SqlSyncProviderProxy(scopeName, serverConnectionString);

                    DbSyncScopeDescription scopeDesc = serverProxy.GetScopeDescription(scopeName, serverConnectionString);

                    serverProxy.Dispose();

                    sqlConfig.PopulateFromScopeDescription(scopeDesc);
                    sqlConfig.Apply();
                }
            }
        }