2016-04-26 4 views
0

ブラウザから正常に使用されると正常に動作するアプリがあります。マルチパート/ 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キャプチャを利用可能にすることができます。

答えて

0
  1. 他の違いは何ですか?上記は重大でなければならず、境界が一致しても問題はありません。エンコーディング - 2016年です。よく動作するすべてのアプリケーションで、ユニコードを理解する必要があります。
  2. JMeter Chrome Extensionでテストを録音しようとすると、「侵入的」ではありませんか?
+0

これは間違いなくエンコードです。私は作業要求をキャプチャし、エンコードを追加し、それが壊れました。 ペイロードを変更せずにUTF-8エンコーディングを送信すると、IIS/ASP.Netはフォームの投稿を無視します。 –

関連する問題