【发布时间】:2011-09-27 01:59:48
【问题描述】:
我有一个 Windows 服务。这个想法是执行尽可能多的不同任务。假设我们有这个带有 Start() 和 Stop() 方法的 IServicePart 接口。当服务启动时,它将搜索某个目录中的所有程序集并找到所有实现 IServicePart 的类。完成,没问题。
问题:
Assembly1.dll 是 IServicePart 的理想候选者。但它需要一个配置。例如 Assembly1.dll.config。现在我可以将 dll 复制/粘贴/重命名为 task2.dll 和 task2.dll.config 并为该服务创建第二个任务。这些插件中的每一个都带有 10-20 个 dll 依赖项
1) 最明显的问题是如何加载配置,因为服务主机的appDomain 与assembly1 和task2 不同。
2) 当两个 IServicePart 依赖于相同的第 3 方程序集时,我预计会出现问题
解决方案 1 是进行自定义配置,而不使用 app.config。
解决方案 2 是在其自己的 appDomain 中运行每个插件。
你有什么建议。
希望我解释正确
====================
参考:类似问题:Plugin to use its own app.config
【问题讨论】:
标签: c# .net plugins windows-services