4

私の ASP.NET Web アプリは IIS 7.5 で正常に動作します。しかし、Web ファームで実行する準備が整っていることを確認したいと考えています。そこで、開発マシンで Web ガーデンを有効にしました。(アプリケーション プールで最大ワーカー プロセス数を 2 に設定します。)

サイト内をクリックしても問題ないように見えますが、AJAX リクエストで 500.19 エラーが発生します。エラーは次のようになります。

ページの関連構成データが無効であるため、要求されたページにアクセスできません。

それぞれ「404、-1」に設定されたキー属性「statusCode、subStatusCode」を組み合わせて、タイプ「エラー」の重複するコレクション エントリを追加することはできません

私のWeb構成では、これがあります:

<system.webServer>
  <httpErrors>
    <error statusCode="404" path="Home/NotFound" />
  </httpErrors>

私には問題ないようで、必要だと思います。しかし、楽しみのために httpErrors セクションを削除しました。それから私は得る:

リモートサーバーに接続できません

もちろん、MS のトラブルシューティング 500.19 エラーを見ました。しかし、エラーは赤いニシンだと思います。この問題は、アプリ プールやコード、またはメッセージが伝えていること以外の何かに関係しています。前述したように、1 つの Max Worker Process ですべてが美しく動作します。

何か案は?

更新: 言及した 2 番目のエラー「リ​​モート サーバーに接続できません」は、アプリケーションが原因で発生した実際のエラーであることに気付きました。したがって、web.config の <error> 要素が 500.19 エラーの原因でした (実際のエラーを隠していました)。system.web に同様の要素があり、それ自体で目的の効果があるように見えるため、この要素は必要ないかもしれません。

問題が解決しました。しかし、なぜシングルワーカーモードでは問題なく、Web ガーデンモードで壊れてしまうのでしょうか?

4

2 に答える 2

8

でカスタム エラーを変更するweb.config場合は、最初に既存のカスタム エラーを削除する必要があります。次に例を示します。

<httpErrors>
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" path="http://google.com" responseMode="Redirect" />
</httpErrors>

IIS7 は非常に優れており、多くの場合、手がかりはエラー メッセージにあります。

それぞれ「404、-1」に設定されたキー属性「statusCode、subStatusCode」を組み合わせて、タイプ「エラー」の重複するコレクション エントリを追加することはできません

于 2011-05-15T13:16:38.810 に答える
0

私にとって、これはc++ redistributable 2015 14.0.23026をインストールすることで修正されました

于 2018-12-03T12:34:30.293 に答える