1

我正在构建一个基于 WebSharingAppDemo-CEProviderEndToEnd 的应用程序。当我在服务器上部署服务器部分时,代码给出错误“路径无效。检查数据库的目录。” 在 CeWebSyncService.cs 文件中调用 NeedsScope() 期间。

显然,服务器无法访问客户端的 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);
}
4

1 回答 1

0

我注意到该示例使用代理与 CE 文件交谈,但使用提供程序(不是代理)与 sql 服务器交谈。

我切换了它,因此有一个代理可以访问 SQL 服务器,并且有一个提供程序可以访问 CE 文件。

这似乎对我有用。

stats = synchronizationHelper.SynchronizeProviders(srcProvider, destinationProxy);

对比

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

于 2010-03-19T13:22:42.473 回答