2015-07-02 4 views
0

Я слежу за учебником here, чтобы настроить прокси-службу с WCF для синхронизации. Но все примеры, которые я вижу, ClientProvider для SqlServer Compact Edition. Можно ли это сделать с помощью SqlSyncProvider для SQL Server Express?Microsoft Sync Framework 2.1 ServerSyncProviderProxy с клиентом SQL Server Express

Например мой код:

var svc = new ServiceForSyncClient(); 
ServerSyncProvider serverProvider = new ServerSyncProviderProxy(svc); 

// create the sync orhcestrator 
var syncOrchestrator = new SyncOrchestrator 
{ 
    LocalProvider = new SqlSyncProvider("ProductsScope", clientConn), 
    RemoteProvider = serverProvider, 
    Direction = SyncDirectionOrder.DownloadAndUpload 
}; 

var syncStats = syncOrchestrator.Synchronize(); 

Но при синхронизации, я получаю исключение:

Необработанное исключение типа 'System.InvalidCastException' произошло в Microsoft.Synchronization.dll

Дополнительная информация: Microsoft.Synchronization.KnowledgeSyncProvider

ответ

1

Вы используете двух совершенно разных поставщиков синхронизации. часть вашего кода использует более старые автономные поставщики (DBServerSyncProvider и SQLCEClientSyncProvider), и вы пытаетесь использовать SQLSyncProvider, который является частью более нового поставщика синхронизации на основе знаний/одноранговой сети (SqlSycProvider/SqlCeSyncProvider).

Вы не можете смешивать и сочетать старые и новые синхронизации поставщиков

Если вы хотите использовать SQL Express в качестве клиента, here образец для использования его с WCF

+0

Спасибо. Между тем я нашел этот образец и использовал его в качестве примера. – Muaddib

Смежные вопросы