2017-03-07 1 views
0

저는 ASP.NET을 처음 사용하지만 JMeter 사용에 대한 지식이 있습니다. 내 임무는 POST 요청을 통해 업로드 된 파일을 받아들이는 웹 서비스를 만드는 것이다.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를 테스트 계획 같은 디렉토리에 배치됩니다.

그러나 file 변수는 항상 null이며 Request.Files.Count은 항상 0입니다. 미리 감사드립니다.

+0

다음 답변을 확인하십시오. http://stackoverflow.com/questions/15680629/mvc-4-razor-file-upload –

+0

[MVC 4 면도기 파일 업로드] 가능한 중복 (http://stackoverflow.com/questions)/15680629/mvc-4-razor-file-upload) –

+0

고마워요! 내 JMeter 요청 매개 변수 이름이 컨트롤러의 입력 매개 변수 이름 ("file")과 일치하는지 확인했습니다. 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

같은 동적 매개 변수를 처리하는 것을 잊지 마세요. System.Web.HttpContext.Current.Request 대신 System.Web.HttpPostedFileBase으로 사용되고, 샘플러 JMeter가 변경 될 필요가 없다 것을

C# 1 컨트롤러

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"; 
    } 
} 

참고.