繁体   English   中英

程序集,Web.config和App.Config-构建故障转移逻辑

[英]Assemblies, Web.config and App.Config — Building failover logic

如果程序集(.dll)找不到web.config文件,如何正确设计故障转移逻辑?

背景:我已经将我们的网站代码很好地模块化为两个不同的.dll。 为了简单起见,我们称它们为:

  • website.dll
  • commonengine.dll

网站代码和.aspx / .ascx文件调用commonengine库以获取所有数据层内容。 对于连接字符串,commonengine而不是看app.config而是看网站的web.config文件(这是我自己的偏好-我更喜欢将生产常量全部放在一个位置)。 网站代码有时(很少)需要访问该web.config文件中的内容。 到目前为止一切都很好(即使不是完全纯净)。

这是麻烦。 我已经写了第三个模块。 它是Windows服务(具体地说,它是POP3检查器/处理器-处理邮箱请求,并将commonengine.dll用于某些数据层内容)。

问题是Windows服务调用commonengine.dll,而commonengine.dll在任何地方都找不到web.config,因为毕竟这是Windows服务(.exe),并且不在网站目录中。

当找不到web.config文件时,使用app.config的正确测试/逻辑是什么? 任何ASP.NET配置专家都可以在这里给我一些指导吗? 如果是,非常感谢。

我从来没有明确阅读过Web.config,而是使用System.Configuration类来读取它(例如System.Configuration.ConfigurationStrings [“ conn name”])。 它将自动转到ASP.NET应用程序中的Web.config和EXE中的app.config。

当然,您仍然必须考虑到config部分可能丢失的事实。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM