session存储在服务器段,你可以把他理解为一个用来存放数据的容器。
解决方案 »
- 怎么下载 txt文件 而不是在浏览器中打开
- sqlhelper问题,ExecuteScalar能插入数据,但select @@identity返回为空
- 一段关于存储过程的讲解,云山雾罩的,高人给翻译一下
- 还是调用存储过 程的问题
- 各位老师,请来看看这个疑难问题!
- 关于studio.net中调试的配置问题
- 关于iframe编辑的高难度问题,快来看看吧。
- JQuery函数 如何在服务器端判断条件启用
- 请问在button当中关闭浏览器窗口的C#代码怎么写?(不弹出对话框)
- 做好了一个asp.net的留言薄,想发到网上看一下,需要上传什么样的文件
- DataGrid能否分行控制样式
- 要使WIN2KSERVER支持ASP。NET需要装什么?
http://www.eggheadcafe.com/articles/20021016.asp
SomeFunction()
{
int expr = Int32.Parse(Session(“Value”));//Accessing from it
if (expr>=something)
{
//do something
}
Else
{
//do something else
}
//Some other thing goes here
}既然Session State针对特定的客户建立,通过它来识别客户的请求。Asp.Net提供了一种加密机制和编码算法生成自己的Session Key。这是非常必要的,因为知道了你的Session Key,就有权限访问指定的页面了。在ASP.Net中生成Session Key的方法:byte[] sessionkey = new byte[15];//Generates a random number
RNGCryptoServiceProvider rngkey = new RNGCryptoServiceProvider ();
rngkey.GetBytes (sessionkey);
string clientsessionKey = SessionId.Encode (sessionkey);但是Session和客户端的Cookie是有关的,当客户关掉Cookie时,Session就失效了。不过在ASP.Net
中可以在web.config中修改设置,使Session的传递脱离Cookie。方法是:
<configuration>
<system.web>
<sessionState cookieless="true" />
</system.web>
</configuration>
禁止也能访问Session,在web.config里设置<sessionState cookieless="true />即可
ASP的Session有二个致命的不足:
1.ASP的Session保存在内存中,这意味着它不兼容于web Farm --- 作为Web服务器群集之一 ---- 而且如果IIS被重启或服务器被重启动,Session也会被毁坏。
2.ASP的Session依赖cookie将用户与Session相联。如果用户不启用他的浏览器的Cookie,ASP Web服务器就没有能力将传入请求映射到SessionASP.NET的Session更周全、更稳定、而没有ASP的Session的这二个缺点。支持各种存储模式,还为不支持Cookie的考虑,支持无Cookie值操作。