Нагрузочное тестирование ASP.NET с помощью Jmeter- Membership.GetUser () возвращает значение null в HttpHandler - PullRequest
0 голосов
/ 07 ноября 2011

Я использовал Jmeter прежде, чтобы загрузить тестирование моего сайта ASP.NET 4 с проверкой подлинности с помощью форм, и все работало нормально.

С тех пор было добавлено несколько HttpHandlers, что я и пытаюсь загрузить тестом.,Если нагрузочный тест с 1 потоком, все работает нормально.Если я загружаю тест с 2 потоками, я получаю исключение нулевой ссылки, генерируемое при вызове Membership.GetUser().Я отладил это локально и вижу, что HttpContext.Current.User также имеет значение null, однако вызов Membership.GetUser("userName") возвращает пользователя.

Я знаю, что приложение может обрабатывать более 2 пользователей, я только что использовалдругое приложение нагрузочного тестирования (Web Performance Load Tester), и оно не выдало ошибку.

Может кто-нибудь указать мне правильное направление, пожалуйста?

Спасибо

edit:

Просто чтобы уточнить, я проверяю это после того, как я аутентифицировался

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

Моя проблема была из-за того, что элемент «Pre-Processor параметров пользователя» в Jmeter выполнялся неправильно / достаточно быстро.Я заменил его элементом «CSV Data Set Config» и добавил его непосредственно под группой потоков, и он работает нормально.

Поскольку пользовательские параметры не использовались, поток не входил в систему.веб-приложение, следовательно, почему GetUser() возвращал ноль!

0 голосов
/ 07 ноября 2011

Проблема в том, что субъект аутентификации не будет установлен, пока следующий запрос к серверу. Если вы используете элемент управления Login, вы можете использовать свойство UserName для определите пользователя. Главный ключ вашей проблемы.

...