如何从C#中的Windows服务连接到不同的数据库(sqlserver)

本文关键字:数据库 sqlserver 连接 中的 服务 Windows | 更新日期: 2023-09-27 18:20:44

My Windows服务应该连接到不同的数据库并从中获取数据(multitenent)。并且每个连接保持在单独的线程中。这可能吗?

数据库信息以XML文件形式提供。

有人对如何做到这一点有什么建议吗?

如何从C#中的Windows服务连接到不同的数据库(sqlserver)

Windows服务一直在运行,因为数据库详细信息包含在某种配置文件中,所以可以从中读取连接字符串。

在构造代码时,服务与控制台程序没有什么不同,除了ServiceManager所需的那些位。

因此,构建代码,使主要逻辑与数据库无关,即它不关心数据层接口之外的内容,只知道接口是什么。

查看存储库和工厂模式。这些会有帮助的。然后,您可以通过读取配置文件中的内容,在运行时创建正确数据库类的具体实例。

请记住,服务将始终运行(除非设置为手动触发),并且如果找不到配置文件,它可以悄悄地失败。