首先让我说我知道类库应该获取其配置的方式是来自引用项目的配置。在我的例子中,引用项目是一个 MVC Web 应用程序。
虽然这通常是有道理的,但我认为当您的类库只是为了提供对 Web 服务的访问时,它不会这样做。当您右键单击“更新服务引用”的服务引用时,Visual Studio 有一个功能。这将更新app.config
类库中的文件,而不是引用项目中的配置文件。app.config
如果文件将被忽略,则不是很有用。
当然,您可以继续将app.config
文件的新版本复制到(在这种情况下)您web.config
在不同项目中的文件中,但这很痛苦,您必须记住这样做。更重要的是,我认为将配置设置保留在 Web 服务项目中在语义上会更好。如果该 Web 服务更改了 URL,我希望所有引用该项目的东西都能获取新的 URL。如果引用类库的东西想要使用不同的 URL,它的配置可以覆盖类库的,但我仍然希望类库有一组默认设置。我不想更改每个引用项目的配置。
考虑到所有这些,有没有办法强制/破解/任何 .NET 将类库中的配置用于 WCF 端点等,而不是查看引用项目配置中的值?