質問

だから私たちは3.5 SP1 - > .NET 4から私たちのサイトをアップグレードしました。

サイトを実行すると、次の設定グループを読み込めなかった内部サーバーエラー(500)が表示されます。

<system.web.extensions>
        <scripting>
            <scriptResourceHandler enableCompression="true" enableCaching="true" />
            <webServices>
                <jsonSerialization maxJsonLength="999999" />
            </webServices>
        </scripting>
    </system.web.extensions>
.

このセクションとWebサイトは罰金を鳴らしました(しかし、上記の必須の財産のため、JSONに問題を抱えています)。

この問題にスレッドを読みました、そしてそれらのほとんどは「あなたのアプリケーションプールは4.0稼働していない」と言っています。そしてそれはそれほど問題ではありません。

私はまたiisを読んでいると言っているスレッドは、何らかのmachine.configファイルを読んでいます。

.NET 4では、web.configのセクションの多くがmachine.configに移動されました。

だから我々はこのセクションをweb.configの上に戻します:

<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週間、回答がありません...=)

役に立ちましたか?

解決

私は答えがなかったように、そして豊富なグーグルが愛を込めていませんでした、私は元の修正を刺すことにしました(system.web.extensionsセクションをweb.configに戻す)。

他のヒント

私は最近この問題に遭遇し、いくつかのトラブルシューティングの後に解決することができました。私が何をしたこともあなたの問題を解決するのに役立ちます。 1.このサイトに対して実行しているアプリプールが.NET 4パイプラインを使用していることを確認してください。 2. CSPROJ(または.SPROJがVBプロジェクトの場合)を開き、ファイルを通過し、v2.0フレームワークファイルへのハードコード参照があるかどうかを確認します。私の場合、アプリを強制的に2.0ランタイムを使用するように強制したv2.0コンパイラパスを使用していた「ビルドの後」タスクがありました。それは以下のようなものでした。

<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ビットの情報。

  1. 上記のセクショングループとマイマシンのセクショングループとの唯一の違いは、ここではVersion= 3.5.0.0、およびmachine.configのversion= 4.0.0.0です。 1。
  2. イベントログのエラーは、「サイト用のすべてのISAPIフィルタをロードできませんでした」はSystem.Web.Extensionsのインストールがあります.Net 4?
  3. これについてもっとテストしたいのですが、残念ながら私は生産システムでこの行動を見るだけで、DEVシステムではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top