7

Web サーバーの 1 つに .net 4.5 Framework をインストールしました。当社のアプリケーションは .net 4.0 を対象としており、ロード バランサーの背後にある複数のサーバーで実行されます。

インストール後、いくつかの POST リクエストに対して次のエラー メッセージが表示されます。

error_name=System.ArgumentException error_message=ポストバックまたはコールバック引数が無効です。イベントの検証は、設定で使用するか、ページで <%@ Page EnableEventValidation="true" %> を使用して有効にします。セキュリティ上の理由から、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。error_details=ソース: System.Web

リクエストの本文の __EVENTVALIDATION 値は、.net 4.5 がインストールされているサーバーからリクエストされた場合とは異なります。MSDN は、.net 4.5 での暗号化の変更はオプトイン構成を使用することを言及しているため、既定では下位互換性があるはずです。

イベントの検証を無効にせずに、構成の変更はありますか?

4

3 に答える 3

0

興味深い問題です。いくつかの動作を特定のバージョンのフレームワーク (web.config 内) に固定しようとします。

リクエスト検証モード

<httpRuntime requestValidationMode="4.0" />

コンパイル対象のフレームワーク

<compilation targetFramework="4.0">

コントロール レンダリング互換バージョン

<pages controlRenderingCompatibilityVersion="4.0"/>
于 2013-08-03T18:29:26.850 に答える