2

为了简化我们的web.config,我想使用以下configSource属性将 NWebsec 配置分解为一个单独的文件:

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="nwebsec">
      <section name="httpHeaderSecurityModule" type="NWebsec.Modules.Configuration.HttpHeaderSecurityConfigurationSection, NWebsec, Version=4.2.0.0, Culture=neutral, PublicKeyToken=3613da5f958908a1" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <nwebsec configSource="App_Config\NWebsec.config" />
  <!--- remainder of file omitted for brevity -->
</configuration>

App_Config\NWebsec.config

<?xml version="1.0"?>
<nwebsec>
  <httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <redirectValidation enabled="true">
      <!-- omitted for brevity -->
    </redirectValidation>
    <securityHttpHeaders>
      <!-- omitted for brevity -->
    </securityHttpHeaders>
  </httpHeaderSecurityModule>
</nwebsec>

当我向应用程序发出请求时,我现在收到一个 HTTP 500 错误,没有其他详细信息。Windows 事件查看器中也没有任何相关内容。

我正在尝试使用 NWebsec 配置吗?

如何获取有关正在发生并导致 HTTP 500 响应的错误的更多详细信息?

4

1 回答 1

2

我相信这是因为nwebsec元素被定义为sectionGroup

<sectionGroup name="nwebsec">
  <section name="httpHeaderSecurityModule" type="..." />
</sectionGroup>

configSource属性section仅适用于元素。

修改web.config

<nwebsec>
  <httpHeaderSecurityModule configSource="App_Config\NWebsec.config" />
</nwebsec>

除了修改引用文件的根元素 ( App_Config\NWebsec.config) 之外,还可以使其按需要工作:

<?xml version="1.0"?>
<httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <redirectValidation enabled="true">
  ...
于 2018-11-19T09:52:15.750 回答