无法识别的配置节system.web.extensions

时间:2011-12-27 17:12:27

标签: .net-4.0 web-hosting system.web.extensions

我使用带有JSON的.NET 4.0创建了一个网站。我现在正试图在远程主机服务器(网络解决方案)上托管该站点,当我打开网站时出现以下错误:

web.config文件中无法识别的配置部分system.web.extensions。

我打电话给他们支持他们说他们只能托管.NET 3.5网站而不是.NET 4.0(他们的服务器上没有.NET 4.0框架)。

是否有解决方法使其在.NET 3.5框架中运行?

这是我的配置文件:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="myCompany.PropertySystem" type="myCompany.PropertySystem.Configuration.PropertyConfigurationSectionGroup">
      <section name="dataProviders" type="myCompany.PropertySystem.Configuration.PropertyDataProviderConfigurationSection, myCompany.PropertySystem"/>
    </sectionGroup>
  </configSections>

  <system.web>
    <globalization culture="en-US" uiCulture="en-US"/>

    <compilation debug="true" targetFramework="4.0" defaultLanguage="c#">
    </compilation>

    <authentication mode="Forms">
      <forms loginUrl="~/Login.aspx" />
    </authentication>

    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="GET, POST" path="Upload.ashx" type="myCompany.PropertySystem.Web.Handlers.UploadHandler, myCompany.PropertySystem"/>
    </httpHandlers>

    <httpModules>
      <add name="SriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpModules>

    <trace enabled="false" pageOutput="true" mostRecent="true" requestLimit="150"/>

    <customErrors mode="Off"></customErrors>

    <pages validateRequest="false" enableViewState="false" enableEventValidation="false" controlRenderingCompatibilityVersion="3.5">
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </controls>
    </pages>

    <webServices>
      <protocols>
        <add name="HttpGet"/>
      </protocols>
    </webServices>

    <sessionState mode="InProc" cookieless="UseCookies" timeout="120"></sessionState>

    <httpRuntime executionTimeout="120" maxRequestLength="524288"/>
  </system.web>

  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="500000000"/>
      </webServices>
    </scripting>
  </system.web.extensions>


  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>

    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <remove name="ScriptHandlerFactory"/>
      <remove name="ScriptHandlerFactoryAppServices"/>
      <remove name="ScriptResource"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedModule" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedModule" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedModule" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="Upload" verb="GET,POST" path="Upload.ashx" type="myCompany.PropertySystem.Web.Handlers.UploadHandler, myCompany.PropertySystem"/>
    </handlers>

    <defaultDocument>
      <files>
        <remove value="iisstart.htm"/>
        <remove value="index.html"/>
        <remove value="index.htm"/>
        <remove value="Default.asp"/>
        <remove value="Default.htm"/>
      </files>
    </defaultDocument>
  </system.webServer>

  <appSettings>
    <add key="SiteID" value="700"/>
    <add key="SiteName" value="My Company"/>
    <add key="SiteVirtualPath" value="~/"/>
    <add key="StartPage" value="~/Default.aspx"/>

    <!-- Email server values-->
    <add key="SmtpServer.Name" value=""/>
    <add key="SmtpServer.Port" value=""/>
    <add key="SmtpServer.UserName" value=""/>
    <add key="SmtpServer.Password" value=""/>
    <add key="Notifications.From" value=""/>
    <add key="Notifications.To" value=""/>
    <add key="Notifications.Cc" value=""/>
    <add key="HandlerAcceptedReferrers" value=""/>

    <!-- Upload path-->
    <add key="UploadPath" value="~/Uploads"/>

    <add key="PropertyApplicationServerUrl" value="http://localhost/PropertySystem/"/>
    <add key="RedirectToPropertyApplicationUrl" value="false"/>
  </appSettings>

  <connectionStrings>
    <add name="myCompany.PropertySystem.Data.Providers.PropertyManagementDataProvider" connectionString="Data Source=MYCOMPANY;Initial Catalog=MyCompanyDB;User ID=sa;Password=somepwd;Persist Security Info=False;" providerName="System.Data.SqlClient"/>
  </connectionStrings>

  <myCompany.PropertySystem>
    <dataProviders>
      <dataProvider name="PropertyManagementDataProvider" providerType="myCompany.PropertySystem.Data.Providers.PropertyManagementDataProvider, myCompany.PropertySystem" connectionString="@myCompany.PropertySystem.Data.Providers.PropertyManagementDataProvider" defaultSchema="dbo" defaultCommandTimeout="120" cachingEnabled="true" defaultCacheDuration="00.00:30:00">
      </dataProvider>
    </dataProviders>
  </myCompany.PropertySystem>
</configuration>

1 个答案:

答案 0 :(得分:0)

是的,您应该检查iis应用程序池并确保它正在运行.net 4.0。 (右键单击iis中的站点并查看属性,您应该能够更改它在那里使用的框架。)

并确保稍后在命令提示符下运行“iisreset”命令。