1

2回呼び出されているコントローラーメソッドがあります。最初に呼び出されたときに正しいパラメーターを取得し、2回目に呼び出されたときにパラメーターを取得せず、メソッドへの引数をnullにできないため、MVCエンジンは例外をスローします。

Safariの特定のバージョンを使用するときにこの動作を以前に確認しましたが、これは認証に関係していました。Windows認証を使用する場合、IISの認証のプロパティがネゴシエートおよびNTLMに設定されていると、ajax呼び出しがそれぞれ1回送信されます。これに対する修正は、1つを削除することでした(NTLMのままにしたと思います)。ここではフォーム認証を使用しているため、これは当てはまりません。

親クラスのKnownType属性を使用せずに、派生した型を返すWCFメソッドを呼び出すときにも同様の動作が見られます。

これを成功させることはできず(クライアントマシンではめったに発生しません)、一般的な落とし穴を探しています。

4

1 に答える 1

0

呼び出しが2回呼び出される理由は、IISでWindows認証を使用しているときのSafariのバグが原因です。Webサイトの認証設定に移動します。Windows認証を右クリックし、プロバイダーを選択してネゴシエートを削除します。NTLMは正常に機能します。Kerberosはテストしていません。

この問題は、サファリの特定のビルドでのみ発生します。

于 2012-10-16T05:37:58.510 に答える