请问,一个类的属性在get访问器里实现的逻辑是从session里读取值,那么这个属性适合写成静态的吗?
解决方案 »
- ping 命令不能使用,如何解决?
- 一个用函数返回Gridview的问题
- 用两个streamReader同时读一个文件 会产生什么问题么?例如死锁,
- 关于net调用DLL
- 如何强制给Control以Readonly属性?
- 在 编辑 C# 代码中如何做标记?
- c# app.config
- C# winform 递归数据库表 生成树节点
- Xml追加文本问题,在线等ing.......
- 请问:在winform中如何在打开另一个窗口后将当前窗口关闭?
- switch中case语句如何匹配多个值如case 1-17或者case 1,2,3,4,5
- 用c# 怎么实现 pdf格式怎么转换为word ?????????????????????????
但是从操作角度讲,是可以的,登陆用户不同,只是数据不同而已,不影响把其作为一个静态的属性.只是要考虑到Session超时所带来的数据为空问题。
:用属性和用方法一样的,方法要写两个,属性的话,可以一起写了
一个最简单而且有效的方法就是利用一个类来管理 我简单写一下public class SessionManager
{
// 缓存登录用户
protected const string UserName= "UserName";
public string UserName
{
get
{
return HttpContext.Current.Session[UserName].ToString();
}
set
{
HttpContext.Current.Session[UserName] = value;
}
}
{
// 缓存登录用户
protected const string UserName= "UserName";
public static string UserName
{
get
{
return HttpContext.Current.Session[UserName].ToString();
}
set
{
HttpContext.Current.Session[UserName] = value;
}
}用的时候 SessionManager.UserName
静态属性不是静态字段,属性相当于方法,不等于application