我试着去做一些与平常不同的事情。 在我设置会话值并在我的网站上重用这些值之前。 但我开始问自己,我可以使用属性值。这就是我正在考虑的问题,它看起来效果很好。
C#,4.0
而不是:
string strpersonid = userinfolist[0].ToString();
HttpContext.Current.Session.Add("personid", strpersonid);
或者:
Session["sosuserid"] = "00001";
为什么不使用: 的Default.aspx -
private static string userid;
public static string _UserID
{
get
{
return userid;
}
set
{
userid = value;
}
}
_UserID = upUser.Name.ToString();
(来自AD电话)
一旦用户提交表单,我就有一个可以重用的buslogic类:
public class buslogic : _default
String userID = _UserID;
使其保持静态可以保证线程安全,正确吗?
思想,想法?感谢名单。
更新: 如果有帮助,default.aspx页面会让用户自己提交(default.aspx.cs,codebehind)。在用户表单提交时,该页面正在使用属性值(调用busLogic类,我认为这是问题)。
答案 0 :(得分:1)
使用HttpContext.Session
或HttpContext.Items
为每个请求和主题提供单独的后备存储。
这使得您的代码在多个线程上运行时可以正常工作,并确保每个请求都有自己的值。
如果您使用单个static
字段,则所有请求都将使用相同的字段,并且事情会变得非常混乱。