首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到<system.web.extensions> 4.0时.NET配置组的问题

升级到<system.web.extensions> 4.0时.NET配置组的问题
EN

Stack Overflow用户
提问于 2010-07-09 01:13:26
回答 3查看 12.4K关注 0票数 10

所以我们已经从3.5 SP1 -> .NET 4升级了我们的站点。

当我们运行站点时,我们得到了一个内部服务器错误(500),指出无法读取以下配置组:

代码语言:javascript
复制
<system.web.extensions>
        <scripting>
            <scriptResourceHandler enableCompression="true" enableCaching="true" />
            <webServices>
                <jsonSerialization maxJsonLength="999999" />
            </webServices>
        </scripting>
    </system.web.extensions>

我们注释掉了这个部分,网站运行得很好(但是现在我们遇到了JSON的问题-因为上面需要的属性)。

我们已经阅读过关于这个问题的线程,其中大多数都说“您的应用程序池没有运行4.0”。是的,所以这不是问题。

我还读过线程,表示IIS正在以某种方式读取旧的machine.config文件。

使用.NET 4,如您所知,web.config的许多部分已经转移到machine.config。

因此,我们将这个部分放回web.config的顶部:

代码语言:javascript
复制
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                    <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
                    <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                    <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                    <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                </sectionGroup>
            </sectionGroup>
        </sectionGroup>

现在,这个网站似乎运作得很好。

不过,我还是有点担心这是否是正确的解决办法。

人们有什么想法吗?这是正确的解决办法吗?

编辑:

3周无answers...damn。=)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-03 01:41:52

由于我没有答案,而且大量搜索也没有爱情,所以我决定坚持原来的修复方法(将system.web.extensions部分添加回web.config中)。

票数 2
EN

Stack Overflow用户

发布于 2010-12-31 09:39:49

我最近遇到了这个问题,在进行了一些故障排除后才得以解决。希望我所做的也能帮你解决问题。1.确保您正在为站点运行的应用程序池使用.NET 4管道2。在记事本和演练文件中打开.csproj (如果您的项目是VB项目,则打开.vbproj ),并检查是否有对v2.0Framework文件的硬编码引用。在我的例子中,我们有一个“生成后”任务,它使用v2.0编译器路径,这迫使应用程序仍然使用2.0运行时。就像在下面。

代码语言:javascript
复制
<Target Name=”AfterBuild” Condition=”’$(MvcBuildViews)’==’true’”>
<AspNetCompiler Condition=”’$(IsDesktopBuild)’ != ‘false’” VirtualPath=”temp” ToolPath=”$(WINDIR)\Microsoft.NET\Framework\v2.0.50727” PhysicalPath=”$(ProjectDir)\..\$(ProjectName)” />
<AspNetCompiler Condition=”’$(IsDesktopBuild)’ == ‘false’” VirtualPath=”temp” ToolPath=”$(WINDIR)\Microsoft.NET\Framework\v2.0.50727” PhysicalPath=”$(OutDir)\_PublishedWebsites\$(ProjectName)” />

确保将它们改为v4.0,或者更好地使它们具有可信赖性。希望这能有所帮助。

-Vamsi

票数 2
EN

Stack Overflow用户

发布于 2010-10-13 22:50:11

另外两段信息可能有用,也可能没有帮助。

  1. 与上面的sectionGroup和machine唯一不同的地方是这里的version=3.5.0.0和machine.config中的version=4.0.0.0。1.
  2. 事件日志中的错误是“无法为站点加载所有ISAPI筛选器.”System.Web.Extensions的安装是否没有在.net 4中正确注册?

我很想对此进行更多的测试,但不幸的是,我只在生产系统而不是开发系统中看到了这种行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3209192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档