Skip to main content
 首页 » 编程设计

c#之将 web.config 作为第三方 Web 服务提供商分发的正确方法

2024年02月06日2752php

我想知道当 web.config 是要由安装程序安装在任何机器上的 Web 服务的一部分时,分发 web.config 的最佳方式是什么。在我的情况下,web.config 包含 Web 服务正常运行所需的 http 处理程序,但是一旦安装,用户可以从 IIS 中更改 Web 服务的选项,这将更改 web.config(例如授权、连接字符串、 ETC。)。问题是如果我将 web.config 作为安装/升级的一部分将覆盖所有用户定义的设置,但如果我不这样做,它可能会丢失新的 https 处理程序或其他关键的新 web.config 设置。关于 web.config 分发的最佳做法是什么?

请您参考如下方法:

这在一定程度上取决于您的服务究竟需要在 web.config 中使用什么。

您可以使用 ConfigSource web.config 中某些部分的属性将该部分中的所有设置移动到外部辅助文件。

例如:

<system.webServer><handlers ConfigSource="httphandlers.config" /> 

然后您可以自己更新 httphandlers.config 而不必担心客户对其进行任何修改。

如果您的客户需要添加他们自己的 http 处理程序,就会出现问题,那么您会遇到与以前相同的问题。

你不应该放 ConfigSource在 <appSettings> , 但定义你自己的 configSection , 然后将该部分也放入辅助文件中。与您的服务相关的所有设置都应该放在那里。

因此,只要您不与客户共享某个部分,这就应该有效。

这只是概念,我自己并没有在生产中使用它。