Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET-子进程和配置文件_.net_Process_Windows Services_App Config - Fatal编程技术网

.NET-子进程和配置文件

.NET-子进程和配置文件,.net,process,windows-services,app-config,.net,Process,Windows Services,App Config,我正在设计一个windows服务,它能够启动任意数量的进程,每个进程在不同的数据库集上处理数据;沙盒镜像我们的实时数据处理服务。数据库连接信息存储在配置文件中,其位置在app.config中指定是否可以按每个子进程更改app.config数据? 我有我的MasterService,例如,它启动了两个新进程:DataProcessor1和DataProcessor2。DataProcessor1应点击数据库foo_1,DataProcessor2应点击数据库foo_2。但是,默认情况下,数据库配置

我正在设计一个windows服务,它能够启动任意数量的进程,每个进程在不同的数据库集上处理数据;沙盒镜像我们的实时数据处理服务。数据库连接信息存储在配置文件中,其位置在app.config中指定是否可以按每个子进程更改app.config数据?

我有我的MasterService,例如,它启动了两个新进程:DataProcessor1和DataProcessor2。DataProcessor1应点击数据库
foo_1
,DataProcessor2应点击数据库
foo_2
。但是,默认情况下,数据库配置设置为
data\u service
,以便主服务可以访问其所需的功能,而不依赖于其子服务的功能

如前所述,数据库配置的位置在app.config中指定我是否有办法通过编程为每个进程提供自己的app.config,或者在每个进程的基础上更改app.config数据,这样我就可以将每个进程指向自己独特的数据库配置?


我们的核心库在很大程度上依赖于当前的数据配置设置,因此更改它是不可能的。同样,此时也不可能注入自定义db连接对象。

子进程是否必须从app.config获取其连接字符串?如果没有,您可以将连接字符串作为命令行参数传递给子进程


我相信您可以使用System.Configuration中的ConfigurationManager类对app.config进行运行时更改,但不确定是否可以使用它将app.config的路径更改为另一个文件。

app.config不提供连接字符串,只提供提供连接字符串的数据配置的路径。现在,我可以为每个进程生成一个新的数据配置,将其保存到磁盘,将该新路径作为命令行参数传递,并可能强制代码在提供的路径上加载数据配置。这可能是我最好的机会了。