asp.net c# 中的背景 运行 应用程序

Background running app in asp.net c#

我想使用 asp.net c# 制作背景 运行 桌面应用程序。

想法是检查本地数据库 table 并从中获取所有数据 table 以便将所有这些数据插入实时数据库 table。

如果有更好的解决方案,请给我一个建议。

看来您要解决的问题是将数据从多个本地数据库移动到一个中央数据库,以便您可以通过 asp.net 网站使用它。 我不会讨论应用程序部分,因为一旦您可以连接到包含您需要的所有数据的数据库,这是一个很容易解决的问题。

这里有几点需要考虑:

  • 重复(一次迁移 vs 连续同步)
  • 方向(你需要同步从本地到中央还是双向)
  • 数据契约(本地数据库与中央数据库的模式相同还是不同)

    如果模式不同,数据契约是您最大的问题,因为您至少需要为中央数据库设计一个目标模式,该模式可以从本地数据库中获取数据。 即使模式相同,您也需要设计一种在中央数据库中对数据进行分区的方式,您可能需要在表中引入一个 sourceDatabaseId 列,这样就不会有冲突的主键(如果你的主键是 guids)

其他的楼都可以解决:

  1. A windows 服务 - 输入:周期性(例如每小时)、源数据库和目标数据库连接字符串。您将有一个主循环,等待 运行 的时间到来(基于周期性)并从源数据库中获取数据并将它们保存到目标数据库中(最好是分批)
  2. 控制台应用程序 - 输入:源数据库和目标数据库连接字符串。您只需分批移动数据。您可以在服务器上配置计划任务,该任务将执行控制台应用程序的计划 运行s 以解决周期性 运行ning 部分。

您可以为每个本地数据库设置一个这样的 windows 服务或预定控制台应用程序。

如果您有复杂的数据库,您可以使用 Microsoft Sync Framework 等工具来执行此数据同步。

您可以开发一个 windows 服务来完成此类工作并安装在带有计时器设置的服务器上。