【发布时间】:2020-06-04 10:13:33
【问题描述】:
下面显示了我们在 IIS 中运行的应用程序的 web.config 文件中的一部分。我已将其作为图像包含在内,以便在useKernelMode 下包含绿线,以及将鼠标悬停在其上时显示的错误消息。
(注意:如您所见,这也适用于UseAppPoolCredentials 和extendedProtection。我只是在此示例中选择了useKernelMode)
这里的配置应该是正确的——它是由一个大概知道自己在做什么的管理员设置的,而且它似乎工作正常。还有documentation for Windows Authentication 将useKernelMode 标识为有效属性。
为什么这被标记为无效属性?不同版本的 IIS 显然支持配置文件中的不同元素和属性 - 可能是 Visual Studio 以某种方式将此配置文件与 web.confi 文件的旧标准相关联,其中属性实际上无效?如果是这样,我是否可以通过某种方式指定应根据特定版本的 IIS 验证此特定配置,例如IIS 7.5、8.5 还是 10?
毕竟,我希望以这种方式标记我的 web.config 中的任何真正错误,但我想避免(大概)这样的误报。
【问题讨论】:
-
从技术上讲,这很难通过 VS 实现,因为当今确实存在各种版本的 IIS,并且它们具有不同的架构。甚至 IIS 10 也有几个变体。您可以向 Microsoft 提出功能请求,但我不希望他们提供。
标签: c# .net web-services iis web-config