ブラウザから正常に使用されると正常に動作するアプリがあります。マルチパート/ MIMEがポストされていても、ASP.Net MVC ModelbinderとRequest.Formは空です。
のJMeterスクリプトを記録または再生しようとすると、アプリケーションは動作を停止し、特定のページには、空のモデルで終わります。 wireshark経由で、これらのリクエスト中にフォームデータがポストされていることを確認しました。
私は、作業要求の失敗を要求と比較しましたが、その違いはごくわずかです。
主なものは、この
取り組んでいる:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryyuuSWkmnnXJCTJzw
失敗:
Content-Type: multipart/form-data; boundary=kAbx249hddVWzlxpSVyEMxcpc9waTo; charset=UTF-8
境界テキストはJMeterのプロキシによって変更され、文字セットは= UTF-8も追加され代理人によって
実際のMIMEデータでは、どちらの場合も正しい境界が使用されていることが確認されています。
他のすべてのヘッダー、クッキー、フォームの名前などはすべて同じです。デバッグ/イミディエイトウィンドウで
自分の行動がヒットした場合、モデルが空である(メインモデル変数がnullではありませんが、そのモデル内のすべてのプロパティがデフォルト値です)
、のRequest.Formは空です。
? Request.Form
{}
[System.Web.HttpValueCollection]: {}
base: {}
AllKeys: {string[0]}
私は、彼らが参考になると思うもののためのwiresharkキャプチャを利用可能にすることができます。
これは間違いなくエンコードです。私は作業要求をキャプチャし、エンコードを追加し、それが壊れました。 ペイロードを変更せずにUTF-8エンコーディングを送信すると、IIS/ASP.Netはフォームの投稿を無視します。 –