部分连接多个数据存储 - C#/ WPF解决方案

时间:2011-11-03 10:25:34

标签: c# .net wpf

我正在构建一个需要快速更改数据连接的WPF,C#,.NET解决方案。 所有连接最终将同步回父Oracle数据库,但与此同时,我可能会从访问数据库,本地sql server压缩数据库,xml文件,甚至Web服务或sharepoint中提取数据。问题是,我甚至可能需要添加提供程序,并且需要能够使提供程序保持彼此同步,并且实时执行,不会丢失连接/无缝用户。这完全取决于什么类型的机器,哪个域,我们拥有什么样的网络连接,并且是客户要求,而不是我可以改变的。

有没有人对什么是实现这一目标的最佳方法有一个很好的建议?

2 个答案:

答案 0 :(得分:1)

您可以在任何服务器中创建一个或两个表,其中包括所有连接字符串以及需要使用哪个数据连接的条件。

,您的业务层将独立于连接。

其他选择是使用sofware facotry模式。 在那里,您可以独立于连接存储库,并在运行时确定哪个数据存储库将连接到数据库。

答案 1 :(得分:1)

客户是否解释了为什么需要此功能?他们经常要求事情来解决他们所预见的问题,而没有充分了解如何最好地解决问题。

如果您正在为旅行推销员使用的应用程序进行编码,这将会间歇性地连接到Oracle数据库,那么您可能应该使用除直接数据库连接之外的其他方法来同步数据库。 / p>

假设使用WCF / SOAP服务来回传递序列化数据对象,或者您可以查看使用MSMQ在间歇连接的移动应用程序和Oracle数据库服务器之间来回传输更改。当然,这意味着您需要运行服务器端应用程序/服务来处理这些数据并将其传递到Oracle数据库,但这样可以更轻松地处理间歇性连接,而无需处理数据库连接错误逻辑。

与此同时,如果您的客户端代码应该考虑将代码分层以使用工厂存储库类型模式。由于业务逻辑只调用接口,因此可以在数据层中使用在运行时决定的数据库特定代码(例如通过配置设置)。