我试图找出数据库连接的最佳做法。 我有一个后台(c#).NET应用程序,用作报表打印机。 我的应用程序每隔30秒连接到第一个数据库并更新第二个数据库。
如果值已更改,我会生成报告。
我无法使用SqlTableDependency,因为我不是第一个数据库的所有者。 目前我使用的任务是:
var global_task = Task.Run(async () =>
{
while (true)
{
CreatTask();
await Task.Delay(30000);
}
});
CreatTask()
{
var first = Task.Run(() => GetDataDB());
}
private void GetDataDB()
{
Get changed Data;
Save in the second data base;
PrintData(changeddata);
}
private void PrintData(changeddata)
{
PrintReport()
}
这是最好的解决方案吗? 为应用程序保持一个开放连接的优点/缺点是什么? 为每次互动打开一个新连接? 这有哪些常见的设计模式?