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

时间:2011-11-07 15:09:17

标签: asp.net forms authentication httphandler jmeter

之前我使用Jmeter来加载使用Forms身份验证测试我的ASP.NET 4网站,并且一切正常。

从那以后添加了几个HttpHandler,这就是我正在尝试加载测试。如果负载测试它与1个线程一切正常。如果我用2个线程加载测试,我会在调用Membership.GetUser()时抛出一个空引用异常。我在本地调试了这个,并且可以看到HttpContext.Current.User也是空的,但是调用Membership.GetUser("userName")会返回用户。

我知道应用程序可以处理2个以上的用户,我刚刚使用了另一个负载测试应用程序(Web Performance Load Tester)并且没有错误。

有人能指出我正确的方向吗?

由于

修改

只是为了澄清,我在验证后对此进行了测试

2 个答案:

答案 0 :(得分:0)

问题是,直到认证主体才会被设置 下一个请求到服务器。 如果您使用的是Login控件,则可以使用UserName属性 识别用户。问题背后的关键。

答案 1 :(得分:0)

我的问题是由于Jmeter中的“用户参数预处理器”元素未正确执行/很快。我已将其替换为“CSV数据集配置”元素,并将其直接添加到线程组下方,并且工作正常。

由于未使用用户参数,因此线程未登录到Web应用程序,因此GetUser()返回null的原因为何!