我有一些疑问:-
那么由第三方管理是什么意思?它是一个单独的组织提供/维护 WCF 服务并且您没有代码吗?
你是本地服务类型的包装器吗?
如果您以任何方式获得数据合同和服务合同,这将是最好的,因为您是本地服务可以使用相同的数据合同实施相同的服务合同。除此之外,您还可以拥有一个服务合同,您可以使用它在主服务启动时将数据推回。
请参阅下面的示例:-
public interface IMasterService
{
TResponse PersistData(TRequestObject request);
}
public interface ILocalService
{
TResponse PushDataInBatch(TRequestObject[] requestBatch);
//We can add more methods here if required
}
public MasterService : IMasterService
{
public TResponse PersistData(TRequestObject request)
{
//persist data in Master DB
}
}
public LocalService : IMasterService, ILocalService
{
public TResponse PersistData(TRequestObject request)
{
//persist data in local cache
}
public TResponse PushDataInBatch(TRequestObject[] requestBatch)
{
//persist data in local cache
}
}
让我知道上述想法是否对您有所帮助,请随时提供更多信息,然后我们可以详细检查。
如果您可以访问他们的库,则上述实现可能是这种方法,但是如果您没有,那么您只剩下一个选项来获取 MasterService 的服务引用并相应地保留数据。
假设您正在复制持久化逻辑(在本地数据存储中),在您的 LocalService 中再进行一个查询?