我编写了一个控制台应用程序(app.exe
),其中包含配置文件(app.exe.config
)中的设置。
我需要在配置文件中使用differentnet设置多次运行。
我现在使用的非常不合理的解决方案是重命名app1.exe
,app1.exe.config
等,然后为每个应用安排一个单独的任务,以便它在早上运行。
我想要做的是拥有一个引用不同配置的主配置,然后只有一个app.exe master.app.exe.config
,然后运行app.exe
的次数与主配置中的引用一样多。< / p>
我不想在代码中执行此操作,因为我想向用户解释如何维护配置文件,就是这样......
设置示例如下:
<!-- datstr ="" => current date, datstr="yyyymmdd" =>
specific date, datstr ="yyyymmdd,yyyymmdd,
etc" => multidate, DONT USE "yyyymmdd","yyyymmdd" -->
<add key="datstr" value=""/>
这可能吗?有更好的方法吗?
答案 0 :(得分:4)
据我所知,我相信你没有最好的架构来完成你想做的工作。
我建议从app.exe.config文件中提取特定于实例的配置,并将其移动到单独的实例特定配置文件中。然后通过命令行开关加载正确的配置文件。
而不是
app1.exe (and app1.exe.config)
app2.exe (and app2.exe.config)
app3.exe (and app3.exe.config)
你最终得到:
app.exe (app.exe.config)
instance1.xml
instance2.xml
instance3.xml
并通过以下方式运行它们(例如)
app.exe -c instance1.xml
app.exe -c instance2.xml
app.exe -c instance3.xml
(注意使用-c和。仅用于示例目的 - 使用适合您的方法)
这有以下好处: