4

我正在开发一个 .net 4.0 Web 应用程序,并将其托管在 IIS 上。该应用程序成功托管了几次,而没有使用<system.web.extensions>inweb.config文件。

该应用程序在没有任何错误的情况下发布,但是当我尝试使用它托管它IIS并尝试启用 Directory Browsing它时,它会发出错误The configuration section system.web,extensions cannot be read because its missing a section declaration。我已经将它设置为应用程序池中的 .net 4.0 应用程序,但仍然出现错误。

以下是我的web.config文件,

  <?xml version="1.0"?>
  <!--
    For more information on how to configure your ASP.NET application, please visit
    http://go.microsoft.com/fwlink/?LinkId=169433
    -->
  <configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.0">
        <assemblies>
          <add assembly="MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
          <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        </assemblies>
      </compilation>
      <httpRuntime requestValidationMode="2.0" executionTimeout="1000" maxRequestLength="2147483647" />
    </system.web>
    <system.web.extensions>
      <scripting>
        <webServices>
          <jsonSerialization maxJsonLength="2147483647">
          </jsonSerialization>
        </webServices>
      </scripting>
    </system.web.extensions>
  </configuration>

我可以知道我在这里做错了什么..这真是令人头疼,我已经尝试了大部分在线资源,但都建议设置.net 4.0我已经完成的应用程序池..

非常感谢您的帮助 :)

4

3 回答 3

10
<configuration>
  <configSections>
    <section name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup" />
  </configSections>
</configuration>

将此添加到配置部分。奇怪的是它在 applicationHost.config 中没有默认

于 2013-02-08T09:12:19.627 回答
3

如果您在 IIS 上使用设置为 2.0 - 3.5 集成管道的应用程序池上传 4.0 应用程序,那么您将看到有关缺少扩展部分声明的错误。

您需要在 IIS 上为 4.0-4.5 集成管道设置应用程序池。

于 2014-02-03T23:36:38.307 回答
1

您可以通过在 webconfig 文件中添加以下配置设置来解决此问题

<configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>
于 2013-11-19T08:59:47.547 回答