在C#.NET中, 使用用户登录然后把用户名存在 User.Identity.Name.ToString(); 里边. 在程序运行过程中随时都可以读取该用户名. 现在我还需要保存对应用户的一些信息,例如所在部门. 我现在用 Session["bmmc"]=dr["BMMC"].ToString(); 来保存.
但现在出现一个问题, 当我一段时间内不用IE, 再用的时候, 它就会对有 Session["bmmc"]赋值的地方出现错误!! 可能是过期了, 现在我想问问大家有什么办法,在程序中保存变量, 让它永远不过期的?
-------------------------WEBCONFIG-
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false" timeout="1000" />
-----------------------------------------------
上边的timeout值我设成更大,但是还是没有用, 该如何设,在哪里设SESSION值为无时间限?
但现在出现一个问题, 当我一段时间内不用IE, 再用的时候, 它就会对有 Session["bmmc"]赋值的地方出现错误!! 可能是过期了, 现在我想问问大家有什么办法,在程序中保存变量, 让它永远不过期的?
-------------------------WEBCONFIG-
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false" timeout="1000" />
-----------------------------------------------
上边的timeout值我设成更大,但是还是没有用, 该如何设,在哪里设SESSION值为无时间限?
建议你试试吧Session.TimeOut = 99999
嗯~!
Session["id"]=Session["id"];
让它永远不过期的想法不对.服务器要释放资源.
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false" timeout="1000" />
-----------------------------------------------
上边的timeout值我设成更大,1000分钟但是还是没有用, 该如何设,就算SESSION永远不过期我无法设定, 但是我设成TIMEOUT=1000为1000分钟后过期, 那为什么就不行呢. 好象一点改变也没有. 请问我想设成3小时内不过期, 如何设?
莫如不用Session,可将信息保存到数据库中好了,用时读取
<appSettings>
<add key="变量名" value="变量的值"></add>
</appSettings> ,加个元素,这样只有当服务停止,服务器重启,这个值才会消亡!
每次刷新或者换页面的时候:
<input type="hidden" name="myname" value=<%=thevalue%>>
Application 能保存用户名啊,那不是所有登录的人都用一个用户名了。
IIS里有个设置SESSION过期时间的,见意楼主设长些,在程序在如果 Session["LoginID"] == null 则要求重新登录。
never expired?perhaps only sqlserver mode.