在.cs文件中使用Session的问题
2009-03-24 21:19
330 查看
我有一个购物车类ShoppingCart,有个CartId属性,每次使用这个属性时,在get里用session给其赋值:
但执行到object cartIDSession = context.Session["cartID"];时
总提示:未将对象引用设置到对象的实例。
源代码:
private string _CartID;
public string CartID
{
get
{ object cartIDSession = context.Session["cartID"];
if (cartIDSession != null)
{
_CartID = cartIDSession.ToString();
}
else
{
if (context.Request.Cookies["cartID"] != null)
{
_CartID = context.Request.Cookies["cartID"].Value;
context.Session["cartID"] = _CartID;
}
else
{
_CartID = Guid.NewGuid().ToString();
HttpCookie cookie = new HttpCookie("cartID", _CartID);
int howManyDays = int.Parse(ConfigurationManager.AppSettings["CartPersistDays"]);//cookie过期天数
TimeSpan timeSpan = new TimeSpan(howManyDays, 0, 0, 0);
DateTime expirationDate = DateTime.Now.Add(timeSpan);
cookie.Expires = expirationDate;
context.Response.Cookies.Add(cookie);
context.Session["cartID"] = _CartID;
}
}
return _CartID;
}
set { _CartID = value; }
}
后来发现:
因为我是用ajax完成这个添加到购物车功能的,所以很习惯的在.ashx页使用的这个CartID属性。
但现在换成在.aspx页使用CartID属性,Session就不为空了!问题解决了
看来若想在.cs文件中使用session,那么使用.cs文件的页必须是.aspx页才行!
但执行到object cartIDSession = context.Session["cartID"];时
总提示:未将对象引用设置到对象的实例。
源代码:
private string _CartID;
public string CartID
{
get
{ object cartIDSession = context.Session["cartID"];
if (cartIDSession != null)
{
_CartID = cartIDSession.ToString();
}
else
{
if (context.Request.Cookies["cartID"] != null)
{
_CartID = context.Request.Cookies["cartID"].Value;
context.Session["cartID"] = _CartID;
}
else
{
_CartID = Guid.NewGuid().ToString();
HttpCookie cookie = new HttpCookie("cartID", _CartID);
int howManyDays = int.Parse(ConfigurationManager.AppSettings["CartPersistDays"]);//cookie过期天数
TimeSpan timeSpan = new TimeSpan(howManyDays, 0, 0, 0);
DateTime expirationDate = DateTime.Now.Add(timeSpan);
cookie.Expires = expirationDate;
context.Response.Cookies.Add(cookie);
context.Session["cartID"] = _CartID;
}
}
return _CartID;
}
set { _CartID = value; }
}
后来发现:
因为我是用ajax完成这个添加到购物车功能的,所以很习惯的在.ashx页使用的这个CartID属性。
但现在换成在.aspx页使用CartID属性,Session就不为空了!问题解决了
看来若想在.cs文件中使用session,那么使用.cs文件的页必须是.aspx页才行!
相关文章推荐
- 在ashx一般处理程序文件中不能使用session和request的问题解决办法
- 解决ThinkPHP5使用uploadify上传文件session无法传递的问题
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- 一般处理文件.ashx中使用文件session遇到的问题
- Unity3d Editor使用cs文件与Plugins dll文件冲突的问题
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- C#一般处理程序 ashx.cs使用Session报错问题
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- 解决使用FireFox下Flash上传文件时SESSION丢失的问题(swfupload)
- 使用nfs共享session文件导致 session_start异常缓慢问题
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- 在ashx一般处理程序文件中不能使用session和request的问题解决办法
- ASP.NET一般处理程序(.ashx.cs)中使用Session的问题
- Firefox中使用FileReference上传文件的问题:Session丢失
- 在一个cs文件里面使用页面提示
- 在asp.net中使用session常见问题集锦
- 使用clone解决hibernate+spring集成中的延迟加载问题及分析(no session or session was closed)
- CentOS 6.9使用sudo时出现:“...不在 sudoers 文件中,此事将被报告”的问题解决
- 【ZYNQ LINUX】使用问题03: 从 win10复制文件到 ubuntu 出错
- 使用vs2010打包的网站文件权限问题