C#中的远程和本地数据库

时间:2017-01-24 12:24:10

标签: c# wpf database entity-framework

我正在开发一个需要访问远程数据库的WPF应用程序。问题是:

  1. 该应用具有一致的互联网访问权限
  2. 正在运行的应用程序有多个实例
  3. 我的想法是获取数据库的本地副本,记录与本地数据库的所有交互(或者某种方式将交互排队以供以后使用),然后可以选择同步远程数据库和本地数据库(发送本地数据库)命令到远程数据库,删除本地数据库,获取远程数据库)。

    This article on MSDN非常有帮助,但我有些担忧。该队列的主要用途是存储对本地表的更新和插入,但此路由看起来不像存储要使用的参数(已对它们进行了注释)。

    有关处理此问题的最佳方法的任何建议或想法吗?

    谢谢!

1 个答案:

答案 0 :(得分:1)

您应该查看消息队列(Microsoft版本称为MSMQ,并且内置于Windows中。其他消息队列可用)。它们专为这种情况而设计。

实际上,您的应用程序会将事件写入其本地消息队列。这将尝试定期将其发送到远程队列(在本例中为数据库),从而提供可靠的消息传递。

在数据库队列中,您通常有一个侦听器正在监视队列并将收到的任何事件写入数据库。