我使用带有 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>