Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WCF服务实现中的服务器上持久化ServerSyncProvider_C#_.net_Wcf_Persistence_Microsoft Sync Framework - Fatal编程技术网

C# 在WCF服务实现中的服务器上持久化ServerSyncProvider

C# 在WCF服务实现中的服务器上持久化ServerSyncProvider,c#,.net,wcf,persistence,microsoft-sync-framework,C#,.net,Wcf,Persistence,Microsoft Sync Framework,我正在使用Microsoft Synchronization Framework和WCF作为传输介质构建一个偶尔连接的系统。客户端应用程序构建一个SyncAgent,其中SqlCe同步提供程序作为本地提供程序,ServerSyncProviderProxy作为远程提供程序 在服务器上运行的服务实现中,我具有以下实例属性: [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.

我正在使用Microsoft Synchronization Framework和WCF作为传输介质构建一个偶尔连接的系统。客户端应用程序构建一个SyncAgent,其中SqlCe同步提供程序作为本地提供程序,ServerSyncProviderProxy作为远程提供程序

在服务器上运行的服务实现中,我具有以下实例属性:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MMFSyncService : IMMFSyncService
{
    private const string cstrDatabaseProvider = "DatabaseProvider";
    private const string cstrFileProvider = "FileProvider";

    private MobileApplications _application;
    private MMFDatabaseSynchronizationScopes _scope;

    private Dictionary<string, IMMFServerSyncProvider> _syncProviders;

    ...
}
_syncProviders集合需要能够在调用之间持久化,这样就可以进行多次同步,而无需每次重新初始化。当我构建应用程序并通过Visual Studio内置web服务器运行它时,这段代码工作得非常好,但是,现在已部署到远程IIS服务器,在后续服务调用中_syncProviders对象为null

从我所读到的内容来看,这是WCF的预期行为,在VisualStudio的共享内存中运行WCF只是一个奇怪的现象,它允许WCF工作。尽管有两种方法来解决这个问题,要么使用DurabelService在调用之间将数据持久化到数据库中,要么将Service行为设置为单个模式和每个性能应用程序的上下文模式,DurabelService解决方案是唯一考虑的方法。 对于同步框架的WCF实现来说,这似乎是必要的,但我还没有在任何博客/文章中讨论过。我在部署过程中是否遗漏了什么?对于这个问题我还有其他的解决方法吗?