• ASP.NET多用户操作相同互斥的对象


    [一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/3574154.html ] 

    现象:公有静态变量不可用于ASP.NET多用户操作,否则该变量会被多用户改写,导致错误。参考: http://blog.csdn.net/dobly/article/details/54826

    解决:可以使用public static Dictionary<key,value>来实现多用户互斥操作。其中key存放唯一的用户登录ID,value存放数据内容。

    e.g.

    Global.aspx.cs:

     1 public static class Global
     2 {
     3     public static Dictionary<int, string> DataChangesTempXML;
     4     public static void InitDic()
     5     {
     6             //当用户登录的时候添加用户字典
     7             if (DataChangesTempXML == null)
     8                 DataChangesTempXML = new Dictionary<int, string>();         
     9             if (!DataChangesTempXML.ContainsKey(PlatBaseUserTBO.LoginInfo.UserID))
    10                 DataChangesTempXML.Add(PlatBaseUserTBO.LoginInfo.UserID, "");    
    11     }
    12 }

    Login.aspx.cs:

    1 Global.InitDic();

    xx.aspx.cs:

    1 //对字典赋值
    2 Global.DataChangesTempXML[PlatBaseUserTBO.LoginInfo.UserID] = id;
    3 //获取字典对象
    4 m_DataChangesTempTEN.Changesxml = Global.DataChangesTempXML[PlatBaseUserTBO.LoginInfo.UserID];
  • 相关阅读:
    高德地图(智能硬件)定位
    sql语句之条件,分页,排序
    MySQL语句基本操作增删改查
    语句基本操作,创建表,外键
    mysql权限操作
    Mysql数据库
    GIL
    计算密集型任务
    线程进程
    server端并发聊天
  • 原文地址:https://www.cnblogs.com/wanghafan/p/3574154.html
Copyright © 2020-2023  润新知