把SESSION的值赋给全局变量,全局变量是如何运行的

时间:2022-04-16 10:29:42
如下所示

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. 如果各用户相互之间不影响,为什么?

12 个解决方案

#1


哪里有全局变量
public string Username;
只是UserInfo一个公用字段而已

#2


引用 1 楼 zhuxiaojun2002 的回复:
哪里有全局变量
public string Username;
只是UserInfo一个公用字段而已


哦  那就是 

把SESSION的值赋给公共变量,公共变量是如何运行的。     对全局变量理解不是很深刻

#3


public class UserInfo
{
    public string Username;
}

本身不是全局的

#4


引用 3 楼 songhtao 的回复:
public class UserInfo
{
    public string Username;
}

本身不是全局的

汗~~~~~~  把SESSION的值赋给公用字段,公用字段是如何运行的。    对全局变量理解不是很深刻

#5


每次创建session的时候,它的ID是不一样的,
且你各用户次进入页面都new 了一个UserInfo的实例对象,应该不会影响

#6


public string Username;
这是所有命名空间的程序里都可见,都能访问的一个变量,但是他并不是大家都可以共享的一个变量,每一个访问者都需要实例化他,然后给他赋值也是不一样的,如果大家要共享这个变量的值,就要public static string Username;变成静态公共的才行
因为你这么写不会有什么冲突问题

#7


在gobal程序中运行

#8


你这想法很古怪.session是私有的,如果你是想把一个数据让所有用户共享,那就
用application
譬如
Application["abc"]="xyz";

#9


全局变量Application
Session都是基于会话作用域.

#10


引用楼主 rebing 的回复:
如下所示
C# codepublicpartialclass hylogin : System.Web.UI.Page
{
    Session["Username"]="aaaa";
    UserInfo MyIfno=New UserInfo();
    MyInfo.Username=Session["UserName"];
}publicclass UserInfo
{publicstring Username;
}
问题:
1. 用这个全局变量存储SESSION的值是否可行;
2. 如果可以当运行网站时 其他用户会不会改变别人 MyInfo.Username 的值,  如果不可以那一般用什么方式存储用户信息
3. 如果各用户相互之间不影响,为什么?

这里没有全局变量。

#11


这个肯定会的,修改cookie的值就可以了,本地可以直接修改,这样不够安全

#12


肯定会的,修改cookie的值就可以了,本地可以直接修改,这样不够安全

#1


哪里有全局变量
public string Username;
只是UserInfo一个公用字段而已

#2


引用 1 楼 zhuxiaojun2002 的回复:
哪里有全局变量
public string Username;
只是UserInfo一个公用字段而已


哦  那就是 

把SESSION的值赋给公共变量,公共变量是如何运行的。     对全局变量理解不是很深刻

#3


public class UserInfo
{
    public string Username;
}

本身不是全局的

#4


引用 3 楼 songhtao 的回复:
public class UserInfo
{
    public string Username;
}

本身不是全局的

汗~~~~~~  把SESSION的值赋给公用字段,公用字段是如何运行的。    对全局变量理解不是很深刻

#5


每次创建session的时候,它的ID是不一样的,
且你各用户次进入页面都new 了一个UserInfo的实例对象,应该不会影响

#6


public string Username;
这是所有命名空间的程序里都可见,都能访问的一个变量,但是他并不是大家都可以共享的一个变量,每一个访问者都需要实例化他,然后给他赋值也是不一样的,如果大家要共享这个变量的值,就要public static string Username;变成静态公共的才行
因为你这么写不会有什么冲突问题

#7


在gobal程序中运行

#8


你这想法很古怪.session是私有的,如果你是想把一个数据让所有用户共享,那就
用application
譬如
Application["abc"]="xyz";

#9


全局变量Application
Session都是基于会话作用域.

#10


引用楼主 rebing 的回复:
如下所示
C# codepublicpartialclass hylogin : System.Web.UI.Page
{
    Session["Username"]="aaaa";
    UserInfo MyIfno=New UserInfo();
    MyInfo.Username=Session["UserName"];
}publicclass UserInfo
{publicstring Username;
}
问题:
1. 用这个全局变量存储SESSION的值是否可行;
2. 如果可以当运行网站时 其他用户会不会改变别人 MyInfo.Username 的值,  如果不可以那一般用什么方式存储用户信息
3. 如果各用户相互之间不影响,为什么?

这里没有全局变量。

#11


这个肯定会的,修改cookie的值就可以了,本地可以直接修改,这样不够安全

#12


肯定会的,修改cookie的值就可以了,本地可以直接修改,这样不够安全