2017-03-07 34 views
0

私はASP.NETを初めて使いましたが、JMeterの使用に関する知識があります。私の仕事は、POSTリクエストによってアップロードされたファイルを受け入れるWebサービスを作成することです。ASP.NETとJMeterを使用してファイルをアップロード

マイコントローラー

public class TestController : Controller { 

    [HttpPost] 
    public string Upload(HttpPostedFileBase file) { 
     Logger.Debug("Upload Called, Request.Files.Count: " + Request.Files.Count); 

     if(model.file != null) 
      Logger.Debug("Okay"); 
     else 
      Logger.Debug("Invalid file"); 

     return "done"; 
    } 
} 

マイJMeterのサンプラー JMeter HTTP request sampler test.csvファイルと私のJMeterのテスト計画は、同じディレクトリの下に置かれます。

私はしかし、null、常にです。

+0

次の回答を確認してください。http://stackoverflow.com/questions/15680629/mvc-4-razor-file-upload –

+0

[MVC 4 Razor File Upload]の重複している可能性があります(http://stackoverflow.com/questions/15680629/mvc-4-razor-file-upload) –

+0

ありがとうございます!私はJMeterのリクエストパラメータ名がコントローラの入力パラメータ名と一致していることを確認しました。どちらも "ファイル"と呼ばれていました。 Request.Files.Countも常に0となっているので、リクエストにはファイルが含まれていないと思います。私の問題を示唆してもらえますか? –

答えて

0

ファイルのアップロード要求を模倣する最も簡単な方法は、単にHTTP(S) Test Script Recorderを使用してファイルを記録することです。 JMeterの設定手順については、Apache JMeter Proxy Step by Stepマニュアルを参照してください。

アップロードリクエストの記録中にtest.csvファイルがJMeterの「bin」フォルダにあることを確認するだけで、JMeterは適切なHTTP Requestサンプラー設定を自動的に入力します。詳細については、Recording File Uploads with JMeterガイドをご覧ください。


NB:私は最終的に解決策を得る適切VIEWSTATE

0

のような動的なパラメータを処理することを忘れないでください。

C#のコントローラ

public class TestController : Controller { 

    [HttpPost] 
    public string Upload() { 
     Logger.Debug("Upload Called, Request.Files.Count: " + System.Web.HttpContext.Current.Request.Files.Count); 

     if(System.Web.HttpContext.Current.Request.Files.Count > 0) 
      Logger.Debug("Okay"); 
     else 
      Logger.Debug("Invalid file"); 

     return "done"; 
    } 
} 

System.Web.HttpContext.Current.Request代わりSystem.Web.HttpPostedFileBaseの使用、及びJMeterのサンプラを変更する必要がないことに注意してください。

関連する問題