我有两种方法使用 HttpContext.Current 来获取用户 ID。当我单独调用这些方法时,我得到了用户 ID,但是当使用 Parallel.Invoke() 调用相同的方法时,HttpContext.Current 为空。
我知道原因,我只是在寻找可以访问 HttpContext.Current 的解决方法。我知道这不是线程安全的,但我只想执行读取操作
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Display();
Display2();
Parallel.Invoke(Display, Display2);
}
public void Display()
{
if (HttpContext.Current != null)
{
Response.Write("Method 1" + HttpContext.Current.User.Identity.Name);
}
else
{
Response.Write("Method 1 Unknown" );
}
}
public void Display2()
{
if (HttpContext.Current != null)
{
Response.Write("Method 2" + HttpContext.Current.User.Identity.Name);
}
else
{
Response.Write("Method 2 Unknown");
}
}
}
谢谢