微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

合并3个完全相同但具有不同连接string设置的Windows服务

我有3个独立的Windows服务项目完全相同的事情。 唯一的区别是每个项目文件在app.config中都有不同的连接string设置。 我正在计划巩固服务项目,使之更易于pipe理。 什么是最好的方法

当前scheme:

3 win服务>每6分钟执行一次>命中3个不同的数据库>收集数据>生成XML>将XML发送到FTP。

预期结果:

:: FindWindow从服务应用程序失败

检查用户是否有权启动Windows服务的命令

如何使用命令行更改Windows服务的启动types

检查服务是否存在bash(CentOS和Ubuntu)

注册一个Java应用程序(或者执行应用程序的一个蝙蝠)作为Windows服务的最快方法是什么?

1 win服务>每6分钟执行一次>打3个不同的数据库>收集数据>生成XML>将XML发送到FTP。

从网站重新启动Windows服务

Windows服务是一个必须运行Windows的embedded式系统上与硬件交互的“正确”select吗?

使用installutil从具有多个服务的可执行文件安装单个服务

从Windows服务安全地存储数据的位置?

WTSQueryUserToken总是抛出“试图引用一个不存在的令牌”在Windows 7上在C#

所以他们都做同样的事情,禁止有不同的连接字符串 – “简单”。

在你的配置中创建一个新的应用程序设置在“模式”的配置或相同的东西,并用逗号分隔的值,例如:

<configuration> <appSettings> <add key="schema" value="connection1,connection2,connection3"/> </appSettings> </configuration>

然后在您的模式应用程序设置键中,确保您拥有每个连接的键

<connectionStrings> <add name="connection1" connectionString="your_connection_string" providerName="the_providor"/> <add name="connection2" connectionString="your_connection_string" providerName="the_providor"/> <add name="connection3" connectionString="your_connection_string" providerName="the_providor"/> </connectionStrings>

在你的OnStart中做一些如下的事情 – 考虑一下睡眠或者线程迭代是需要被放进去的,但是你明白了:

protected override void OnStart(string[] args) { string[] schemaList = ConfigurationManager.AppSettings["schema"].Split(",".tochararray()); foreach (string schema in schemaList) { // do your stuff... }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐