0

私は、ショッピング センター内のすべての店舗を一覧表示する本番サイトのページを持っています。これにより、地区管理者はセンターのテナントの変更を検出できます。

ショッピング センターの 1 つには 107 の店舗があり、DM はこの 1 つのセンターでプロセスを保存しようとするたびに、MVC エラー ページではない奇妙なエラーを受け取りました (恐ろしい「'/' アプリケーションのサーバー エラー」)。 」)。

デバッガーでコードを調べています。ページのフォーム送信時に、コントローラーのコンストラクターが呼び出され、コンストラクターが終了するとすぐに Dispose メソッドに移動します。私が行ったページの他のバージョン (別のショッピング センターを含む) は、コンストラクターから要求されたコントローラー メソッドに移動します。

Web.config に移動し、maxRequestLength を 8192 に、maxQueryStringLength を 4096 に、さらに maxUrlLength を 1040 に変更しました。これは、フォームの送信時に送り返されるデータが大きすぎる可能性があるためですが、それでもすべてが同じエラー。

必要に応じてコードを提供できますが、要求されたメソッドに到達していないと述べたように、コンストラクターから Dispose メソッドに直接移動します。Disposeに入った時のコールスタックを確認したのですが、全て[外部コード]に記載されています。

4

1 に答える 1

0

George Stocker の提案に従って、イベント ビューアーで次の情報を見つけました。

例外情報:

例外の種類: InvalidOperationException 例外メッセージ: オブジェクトの現在の状態のため、操作は無効です。System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() で System.Web.HttpValueCollection.FillFromEncodedBytes (Byte[] バイト、エンコーディング エンコーディング) で System.Web.HttpRequest.FillInFormCollection()

System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() を見てみると、それを修正する方法を説明するこのスレッドが見つかりました。提案された変更を行ったところ、問題なくフォームを送信できました。

于 2013-07-08T20:33:10.567 に答える