如何管理自定义 IIS 托管模块中的设置

How to manage settings in a custom IIS managed module

我目前正在开发 IIS 7 托管模块,它将与服务器端软件一起分发。

如何在 IIS 模块本身内管理 settings/configurations?例如,如何让用户设置模块内部使用的 API-key?

我知道在 Apache 或 nginx 中我可以直接在 VirtualHosts 文件 (apache) 和 nginx 配置文件 (nginx) 中添加设置。我想知道 IIS 模块是否有 "best practice"。

是的,您可以为此使用 web.config 文件,您可以选择定义自己的配置部分,但根据您的配置的复杂程度,也许使用现有的 appSettings 部分就足够了。 从您的模块中,您可以读取 appSettings,例如: How to read appSettings section in the web.config file?

最棒的是,这包括 IIS 管理器中的内置 UX,用于管理应用程序设置。不好的部分是它不会为您的客户提供验证,也不会 "intellisense" 指导他们完成配置。

如果您想定义自己的部分,您可以查看: http://www.iis.net/learn/develop/extending-iis-configuration/extending-iis-schema-and-accessing-the-custom-sections-using-mwa 当您在 IIS 管理器中添加架构文件时,您将能够使用 "Configuration Editor" 并为您的客户提供一个简单的 UI 来设置验证、数据类型、集合管理等