我的DLL可以在编译时检查调用应用程序中的条件吗?

时间:2012-01-06 22:52:00

标签: .net configuration web-config assemblies app-config

简短版本: 我正在创建一个我打算传递给部门的DLL,它需要在引用它的应用程序的web.config中存在某些值。有没有办法让我的DLL在运行时检查这些值?

长版,附背景信息: 我们使用网站级web.config文件来配置同一服务器上多个网站/ WCF服务的环境信息。在开发这些应用程序时,我有web.config的调试版本插入测试值,一切都很好。但是,我想尽可能地为未来的用户减少隐藏的需求[我,在一年中,当我忘记了所有这些]并尽可能明显地丢失配置设置。如果引用或构建时解决方案不可能或不可行,那么我的DLL可以用来检查其配置的最早的运行时机会是什么?

此外 - 我们使用内置的应用程序配置类在运行时自动解密设置,以及利用配置层次结构,因此我们无法使用app / web.config文件。如果有人知道关于需要配置条目的引用程序集的更系统的设计方法,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

DLL没有真正的Main等价物。最好的选择是使用将验证配置的方法(并且可能缓存结果)来保护所有DLL入口点。

不幸的是,根据你的DLL的内容,这可能非常耗时。最好的方法是查看所有public类型和静态方法。这些是您最明显的代码库入口点。

这也可能是审核您的入口点并将其限制在可管理级别的好时机:)