如下所示
- C# code
public partial class hylogin : System.Web.UI.Page{ Session["Username"]="aaaa"; UserInfo MyIfno=New UserInfo(); MyInfo.Username=Session["UserName"];}public class UserInfo{ public string Username;}
问题:
1. 用这个全局变量存储SESSION的值是否可行;
2. 如果可以当运行网站时 其他用户会不会改变别人 MyInfo.Username 的值, 如果不可以那一般用什么方式存储用户信息
3. 如果各用户相互之间不影响,为什么?
------解决方案--------------------------------------------------------
哪里有全局变量
public string Username;
只是UserInfo一个公用字段而已
------解决方案--------------------------------------------------------
public class UserInfo
{
public string Username;
}
本身不是全局的
------解决方案--------------------------------------------------------
每次创建session的时候,它的ID是不一样的,
且你各用户次进入页面都new 了一个UserInfo的实例对象,应该不会影响
------解决方案--------------------------------------------------------
public string Username;
这是所有命名空间的程序里都可见,都能访问的一个变量,但是他并不是大家都可以共享的一个变量,每一个访问者都需要实例化他,然后给他赋值也是不一样的,如果大家要共享这个变量的值,就要public static string Username;变成静态公共的才行
因为你这么写不会有什么冲突问题
------解决方案--------------------------------------------------------
在gobal程序中运行
------解决方案--------------------------------------------------------
你这想法很古怪.session是私有的,如果你是想把一个数据让所有用户共享,那就
用application
譬如
Application["abc"]="xyz";
------解决方案--------------------------------------------------------
全局变量Application
Session都是基于会话作用域.
------解决方案--------------------------------------------------------