2011-11-07 1 views
0

Forms 인증을 사용하여 ASP.NET 4 사이트를로드하기 전에 Jmeter를 사용하여 테스트 해 보았습니다.Jmeter로 ASP.NET로드 테스트 - Membership.GetUser()가 HttpHandler에서 null을 반환합니다.

그 이후로 여러 개의 HttpHandlers가 추가되었으므로 테스트를로드하려고합니다. 부하 테스트가 1 스레드라면 모든 것이 잘 동작합니다. 내가 2 스레드로 테스트를로드하면 Membership.GetUser()을 호출 할 때 null 참조 예외가 발생합니다. 이 로컬로 디버깅했습니다 및 Membership.GetUser("userName") 호출하면 사용자를 반환하는 있지만 HttpContext.Current.User 또한 null임을 알 수 있습니다.

응용 프로그램이 2 명 이상의 사용자를 처리 할 수 ​​있다는 것을 알고 있으며, 다른 부하 테스트 응용 프로그램 (Web Performance Load Tester)을 사용했지만 오류가 발생하지 않았습니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까?

감사

편집 :

그냥 내가

답변

0

내 문제는 Jmeter의 "User Parameters Pre Processor"요소가 올바르게 실행되지 않았기 때문에 발생했습니다. 나는 이것을 "CSV 데이터 세트 구성"요소로 바꾸고 스레드 그룹 바로 아래에 추가했으며 제대로 작동합니다.

사용자 매개 변수가 사용되지 않았기 때문에 스레드가 웹 응용 프로그램에 로그인되지 않았으므로 GetUser()이 null을 반환했습니다.

0

문제는 인증 주체가 다음까지 설정되지 않습니다 것을 인증 한 후에 나는이 테스트하고, 명확하게 요청을 서버에 보냅니다. 로그인 컨트롤을 사용하는 경우 에 UserName 속성을 사용하여 문제를 해결할 수있는 user.Main 키를 식별 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. http 처리기가 사이트의 깊숙한 곳에 있습니다. 즉, 로그인 및 http 처리기 요청 사이에 서버에 대한 많은 요청이 있습니다. 인증 주체는 그때까지 확실하게 설정되었을 것입니까? 나머지 사이트는 부하 테스트시 잘 작동하지만 HTTP 핸들러 만 넘겨 준다. – SneakAttaack