1. 程式人生 > >只允許一個 <configSections> 元素。它必須是根 <configuration> 元素的第一個子元素- HTTP Error 500.19

只允許一個 <configSections> 元素。它必須是根 <configuration> 元素的第一個子元素- HTTP Error 500.19

com ext ngs mvc 截圖 provide 無效 ase 發生

這還是我第一次遇到這個錯誤,以前都沒太註意配置文件中元素的放置順序。這次在調試一個ASP.NET MVC項目的時候,突然就爆出HTTP Error 500.19錯誤,提示無法訪問請求的頁面,因為該頁的相關配置數據無效。

根據網頁提供的錯誤信息,主要原因是configSections元素必須是configuration元素的第一個子元素。而我原本的配置信息如下(錯誤的):

<configuration>
  <connectionStrings>    
    <add name="SqlConnectionString" connectionString="Server=192.168.0.199;Database=TestWebDb; UID=sa;PWD=123;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <configSections>
    <section name="botDetect" requirePermission="false" type="BotDetect.Configuration.BotDetectConfigurationSection, BotDetect" />
  </configSections>
</configuration>

正確應該把configSections元素放在configuration元素下的第一順位:

<configuration>    
  <configSections>
    <section name="botDetect" requirePermission="false" type="BotDetect.Configuration.BotDetectConfigurationSection, BotDetect" />
  </configSections>
  <connectionStrings>    
    <add name="SqlConnectionString" connectionString="Server=192.168.0.199;Database=TestWebDb; UID=sa;PWD=123;" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>   

相關錯誤信息和截圖:

技術分享圖片

技術分享圖片

當讀取 Web 服務器或 Web 應用程序的配置文件出現問題時,就會發生此錯誤。在某些情況下,事件日誌會包含有關導致此錯誤的原因的更多信息。

出處:http://shiyousan.com/post/636347845422823189。

只允許一個 <configSections> 元素。它必須是根 <configuration> 元素的第一個子元素- HTTP Error 500.19