使用Jmeter-Membership.GetUser()进行ASP.NET负载测试在HttpHandler中返回null

使用Jmeter-Membership.GetUser()进行ASP.NET负载测试在HttpHandler中返回null,asp.net,forms,authentication,httphandler,jmeter,Asp.net,Forms,Authentication,Httphandler,Jmeter,我以前使用Jmeter对我的ASP.NET4站点进行加载测试,并使用表单身份验证,所有测试都运行良好 从那时起,添加了几个HttpHandler,这就是我试图加载测试的内容。如果使用1个线程进行负载测试,一切正常。如果我使用两个线程加载测试,则在调用Membership.GetUser()时会引发空引用异常。我已经在本地调试了它,可以看到HttpContext.Current.User也为null,但是调用Membership.GetUser(“用户名”)返回用户 我知道这个应用程序可以处理2个

我以前使用Jmeter对我的ASP.NET4站点进行加载测试,并使用表单身份验证,所有测试都运行良好

从那时起,添加了几个HttpHandler,这就是我试图加载测试的内容。如果使用1个线程进行负载测试,一切正常。如果我使用两个线程加载测试,则在调用
Membership.GetUser()
时会引发空引用异常。我已经在本地调试了它,可以看到
HttpContext.Current.User
也为null,但是调用
Membership.GetUser(“用户名”)
返回用户

我知道这个应用程序可以处理2个以上的用户,我刚刚使用了另一个负载测试应用程序(WebPerformanceLoadTester),它没有出错

谁能给我指一下正确的方向吗

谢谢

编辑:


我只是想澄清一下,我在验证后正在测试这个问题。问题是,在 对服务器的下一个请求。 如果您使用的是登录控件,则可以使用UserName属性 识别用户。问题背后的主键。

我的问题是由于Jmeter中的“用户参数预处理器”元素没有正确/足够快地执行。我用一个“CSV数据集配置”元素替换了这个元素,并将它直接添加到线程组的下面,效果很好


由于没有使用用户参数,线程没有登录到web应用程序,因此
GetUser()
返回null

谢谢你的回复。。。http处理程序深入站点,即在登录和请求http处理程序之间有许多对服务器的请求。到那时,身份验证主体肯定已经设置好了?当进行负载测试时,站点的其余部分工作正常,只有http处理程序失效