问题描述
|
当我在不同的浏览器或同一浏览器中打开两个应用程序时,我在一个应用程序中添加的值对另一应用程序可见。
我做了一个会话帮助程序,但是仍然有问题。
public class SessionHelper
{
#region Strongly typed variable
public static CreateAccountModel tmpmodel = null;
public static string errMsg = string.Empty;
public static List<PointOfSalesModel> CurrPosModelArr = null;
public static List<PointOfSaleUsersModel> currAddedClerks = null;
public static List<AuthorizedIPsModel> currAddedIPs = null;
public static bool isPosDataLodedFirstTime = false;
public static string isEditGridClickedVal = \"No\";
public static int AccountId = -1;
#endregion
public SessionHelper Current
{
get
{
SessionHelper currentSession = HttpContext.Current.Session[\"_session\"] as SessionHelper;
if (currentSession == null)
{
currentSession = new SessionHelper();
HttpContext.Current.Session[\"_session\"] = currentSession;
}
return currentSession;
}
}
}
解决方法
静态字段/属性在浏览器发出的所有请求之间共享。因此,即使将其保存到会话中,但每个
SessionHelper
都将引用相同的静态字段。请改用实例字段。