WebSharingAppDemo-CEProviderEndToEnd Запрашивает peerProvider для NeedsScope, прежде чем какие-либо файлы будут отправлены на сервер. Это кажется не в порядке? - PullRequest
1 голос
/ 08 марта 2010

Я создаю приложение на основе WebSharingAppDemo-CEProviderEndToEnd. При развертывании серверной части на сервере код выдает ошибку «Путь недействителен. Проверьте каталог для базы данных». во время вызова NeedsScope () в файле CeWebSyncService.cs.

Очевидно, что сервер не может получить доступ к клиентскому sdf, но что должно произойти, чтобы эта работа работала? Приложение использует пакетную обработку для отправки данных, и пакеты должны быть перенаправлены во временный каталог, но эта проблема возникает до того, как какие-либо файлы были объединены. Серверу не на что смотреть, чтобы определить, нужна ли peerProivider область действия. Чего мне не хватает?

public bool NeedsScope()
{
    Log("NeedsSchema: {0}", this.peerProvider.Connection.ConnectionString);
    SqlCeSyncScopeProvisioning prov = new SqlCeSyncScopeProvisioning();

    return !prov.ScopeExists(this.peerProvider.ScopeName, (SqlCeConnection)this.peerProvider.Connection);
}

1 Ответ

0 голосов
/ 19 марта 2010

Я заметил, что в примере использовался прокси-сервер для связи с файлом CE, но поставщик (не прокси-сервер) для связи с сервером sql.

Я переключил его, чтобы был прокси-сервер для доступа к серверу SQL и провайдер для доступа к файлу CE.

Кажется, это работает для меня.

stats = synchronizationHelper.SynchronizeProviders (srcProvider, destinationProxy);

против

SyncOperationStatistics stats = syncHelper.SynchronizeProviders (srcProxy, destinationProvider);

...