在用session的时候判断一下,
if(Session["变量"]!=null)
{
}
else
{
}
if(Session["变量"]!=null)
{
}
else
{
}
解决方案 »
- Asp.net与SQL一起打包部署安装??
- asp.net 分页查询时参数是如何传递的?
- MCV3中,CodeFirst生成数据层时Xml字段如何声明?
- 关于论坛方面的问题,求懂得大牛帮帮忙
- 程序更改图片文件大小
- Asp.Net 创建的Web站点,如何实现客户端任务栏弹出提示窗口呢?
- 站点使用了样式,有一个页面不想全站样式,请问怎么设置了?
- 在ASPNET中DATAREADER所使用的返回值是什么?
- 如何做到像QQ一样的数据库?高手请进!
- datagrid中新增了一列,做超链,参数有多个字段数据组成,该怎么解决?
- Session保存对象的问题,救命。
- 请问在asp和asp.net中同一个页面的SessionID如何转换成一样的?
不过最好还是在使用前判断一下是否为空
1、真的到了session失效的时间;
2、服务器端的原文间发生变动,包括aspx.vb(aspx.cs)的重新编译,web.config的编辑,都会造成所有session统统丢失。
1.Session丢失情况?
一:有些杀病毒软件会去扫描您的Web.Config文件,那时Session肯定掉,这是微软的说法。
二:程序内部里有让Session掉失的代码,及服务器内存不足产生的。
三:程序有框架页面和跨域情况。
第一种解决办法是:使杀病毒软件屏蔽扫描Web.Config文件(程序运行时自己也不要去编辑它)
第二种是检查代码有无Session.Abandon()之类的。
第三种是在Window服务中将ASP.NET State Service 启动,【并设置Web.Web.config的sessionState|mode为StateServer】
还有一种情况是您用资源管理器打开的还是IE打开的。
最好用IE打开试试。
2.Session被串?
Seesion是存储在服务器端的,它是使用客户端和服务器端共享一个关键字,一般情况下客户端使用cookie,服务器用这个cookie来识别seesion,如果seesion存在客户,他的安全性就得不到保障。一般来说就不会把用户登陆信息存储在seesion中了 <sessionState
mode="InProc"//这里改为StateServer 【把进程内状态改为进程外状态】 注意要启动 aspnet_state 服务
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="600"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="true" //这里说明不需要存在客户端 ,改为false试试?
timeout="60"
/>