.Net网站的web.config配置说明(3)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:C#使用Panel实现窗体动态侧边栏
可以实现侧边栏的展开、隐藏和锁定的功能。添加的侧边栏默认是不显示的通过鼠标的悬停事件MouseHover来触发展开动作。侧边栏实际上是一个窗体或者是容器,实现展开的动作必须在一个时间段内逐步的增加宽度,我采用Panel作为容器的载体,在一个线程中逐步增加Panel的Wid

在我们上面的Session模型简介中,大家可以发现Session状态应该存储在两个地方,分别是客户端和服务器端。客户端只负责保存相应网站的SessionID,而其他的Session信息则保存在服务器端。在ASP中,客户端的SessionID实际是以Cookie的形式存储的。如果用户在浏览器的设置中选择了禁用Cookie,那末他也就无法享受Session的便利之处了,甚至造成不能访问某些网站。为了解决以上问题,在 ASP.NET中客户端的Session信息存储方式分为:Cookie和Cookieless两种。

ASP.NET中,默认状态下,在客户端还是使用Cookie存储Session信息的。如果我们想在客户端使用Cookieless的方式存储Session信息的方法如下:

找到当前Web应用程序的根目录,打开Web.Config文件,找到如下段落:

 

< sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>

这段话中的cookieless="false"改为:cookieless="true",这样,客户端的Session信息就不再使用 Cookie存储了,而是将其通过URL存储。关闭当前的IE,打开一个新IE,重新访问刚才的Web应用程序,就会看到类似下面的样子:

其中,http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245) /default.aspx中黑体标出的就是客户端的Session ID。注意,这段信息是由IIS自动加上的,不会影响以前正常的连接。

ASP.NET中服务器端Session状态的存储 准备工作:

为了您能更好的体验到实验现象,您可以建立一个叫做SessionState.aspx的页面,然后把以下这些代码添加到< body>< /body>中。

< scriptrunat="server">

Sub Session_Add(sender As Object, e As EventArgs)

Session("MySession") = text1.Value

span1.InnerHtml = "Session data updated! < P>Your session contains: < font color=red>" & Session("MySession"). ToString() & "< /font>"

End Sub

Sub CheckSession(sender As Object, eAs EventArgs)

If (Session("MySession")Is Nothing) Then

span1.InnerHtml = "NOTHING, SESSION DATA LOST!"

Else

span1.InnerHtml = "Your session contains: < font color= red>" & Session("MySession").ToString() & "< /font>"

End If

End Sub

< /script>

< formrunat="server"id="Form2">

< inputid="text1"type="text"runat="server"name="text1">

< inputtype="submit"runat="server"OnServerClick="Session_Add"

value="Add to Session State " id="Submit1"name="Submit1">

< inputtype="submit"runat="server"OnServerClick="CheckSession"

value=" View Session State " id="Submit2"name="Submit2">

< /form>

< hrsize="1">

< fontsize="6">< spanid="span1"runat="server" />< /font>

这个SessionState.aspx的页面可以用来测试在当前的服务器上是否丢失了Session信息。

将服务器Session信息存储在进程中

让我们来回到Web.config文件的刚才那段段落中:

< sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>

当mode的值是InProc时,说明服务器正在使用这种模式。

分享:减少.NET应用程序内存占用的一则实践
最近一周比较忙,主要的工作内容是在做一个叫键盘精灵的东西,简单来讲就是将很多数据放到内存中,对这些数据进行快速检索,然后找出根据输入条件最匹配的10条记录并予以展示。具体和下面两款炒股软件的相关功能类似: 数据以文本形式存在文件中,且数据量较大,有近20

来源:模板无忧//所属分类:.Net教程/更新时间:2013-04-17
相关.Net教程