|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
TjQLinux联盟 ASP.NET中客户端Session状态的存储 TjQLinux联盟 TjQLinux联盟 在我们上面的Session模型简介中,大家可以发现Session状态应该存储在两个地方,分别是客户端和服务器端。客户端只负责保存相应网站的 SessionID,而其他的Session信息则保存在服务器端。在ASP中,客户端的SessionID实际是以Cookie的形式存储的。如果用户在浏览器的设置中选择了禁用Cookie,那末他也就无法享受Session的便利之处了,甚至造成不能访问某些网站。为了解决以上问题,在 ASP.NET中客户端的Session信息存储方式分为:Cookie和Cookieless两种。 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 ASP.NET中,默认状态下,在客户端还是使用Cookie存储Session信息的。如果我们想在客户端使用Cookieless的方式存储Session信息的方法如下: TjQLinux联盟 TjQLinux联盟 找到当前Web应用程序的根目录,打开Web.Config文件,找到如下段落: TjQLinux联盟 TjQLinux联盟 <sessionState TjQLinux联盟 TjQLinux联盟 mode="InProc" TjQLinux联盟 TjQLinux联盟 stateConnectionString="tcpip=127.0.0.1:42424" TjQLinux联盟 TjQLinux联盟 sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" TjQLinux联盟 TjQLinux联盟 cookieless="false" TjQLinux联盟 TjQLinux联盟 timeout="20" TjQLinux联盟 TjQLinux联盟 /> TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 这段话中的cookieless="false"改为:cookieless="true",这样,客户端的Session信息就不再使用Cookie存储了,而是将其通过URL存储。关闭当前的IE,打开一个新IE,重新访问刚才的Web应用程序,就会看到类似下面的样子: TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 其中,http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx中黑体标出的就是客户端的Session ID。注意,这段信息是由IIS自动加上的,不会影响以前正常的连接。 TjQLinux联盟 ASP.NET中服务器端Session状态的存储 TjQLinux联盟 TjQLinux联盟 准备工作 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 为了您能更好的体验到实验现象,您可以建立一个叫做SessionState.aspx的页面,然后把以下这些代码添加到<body></body>中。 TjQLinux联盟 TjQLinux联盟 <script runat="server"> TjQLinux联盟 TjQLinux联盟 Sub Session_Add(sender As Object, e As EventArgs) TjQLinux联盟 TjQLinux联盟 Session("MySession") = text1.Value TjQLinux联盟 TjQLinux联盟 span1.InnerHtml = "Session data updated! <P>Your session contains: <font color=red>" & \ TjQLinux联盟 TjQLinux联盟 Session("MySession").ToString() & "</font>" TjQLinux联盟 TjQLinux联盟 End Sub TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 Sub CheckSession(sender As Object, eAs EventArgs) TjQLinux联盟 TjQLinux联盟 If (Session("MySession")Is Nothing) Then TjQLinux联盟 TjQLinux联盟 span1.InnerHtml = "NOTHING, SESSION DATA LOST!" TjQLinux联盟 TjQLinux联盟 Else TjQLinux联盟 TjQLinux联盟 span1.InnerHtml = "Your session contains: <font color=red>" & \ TjQLinux联盟 TjQLinux联盟 Session("MySession").ToString() & "</font>" TjQLinux联盟 TjQLinux联盟 End If TjQLinux联盟 TjQLinux联盟 End Sub TjQLinux联盟 TjQLinux联盟 </script> TjQLinux联盟 TjQLinux联盟 <formrunat="server"id="Form2"> TjQLinux联盟 TjQLinux联盟 <inputid="text1"type="text"runat="server"name="text1"> TjQLinux联盟 TjQLinux联盟 <inputtype="submit"runat="server"OnServerClick="Session_Add" TjQLinux联盟 TjQLinux联盟 value="Add to Session State" id="Submit1"name="Submit1"> TjQLinux联盟 TjQLinux联盟 <inputtype="submit"runat="server"OnServerClick="CheckSession" TjQLinux联盟 TjQLinux联盟 value="View Session State" id="Submit2"name="Submit2"> TjQLinux联盟 TjQLinux联盟 </form> TjQLinux联盟 TjQLinux联盟 <hrsize="1"> TjQLinux联盟 TjQLinux联盟 <fontsize="6"><spanid="span1"runat="server" /></font> TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 TjQLinux联盟 这个SessionState.aspx的页面可以用来测试在当前的服务器上是否丢失了Session信息。TjQLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|