.Net網(wǎng)站的web.config配置說(shuō)明(3)_.Net教程
推薦:C#使用Panel實(shí)現(xiàn)窗體動(dòng)態(tài)側(cè)邊欄可以實(shí)現(xiàn)側(cè)邊欄的展開(kāi)、隱藏和鎖定的功能。添加的側(cè)邊欄默認(rèn)是不顯示的通過(guò)鼠標(biāo)的懸停事件MouseHover來(lái)觸發(fā)展開(kāi)動(dòng)作。側(cè)邊欄實(shí)際上是一個(gè)窗體或者是容器,實(shí)現(xiàn)展開(kāi)的動(dòng)作必須在一個(gè)時(shí)間段內(nèi)逐步的增加寬度,我采用Panel作為容器的載體,在一個(gè)線程中逐步增加Panel的Wid
在我們上面的Session模型簡(jiǎn)介中,大家可以發(fā)現(xiàn)Session狀態(tài)應(yīng)該存儲(chǔ)在兩個(gè)地方,分別是客戶端和服務(wù)器端。客戶端只負(fù)責(zé)保存相應(yīng)網(wǎng)站的SessionID,而其他的Session信息則保存在服務(wù)器端。在ASP中,客戶端的SessionID實(shí)際是以Cookie的形式存儲(chǔ)的。如果用戶在瀏覽器的設(shè)置中選擇了禁用Cookie,那末他也就無(wú)法享受Session的便利之處了,甚至造成不能訪問(wèn)某些網(wǎng)站。為了解決以上問(wèn)題,在 ASP.NET中客戶端的Session信息存儲(chǔ)方式分為:Cookie和Cookieless兩種。
ASP.NET中,默認(rèn)狀態(tài)下,在客戶端還是使用Cookie存儲(chǔ)Session信息的。如果我們想在客戶端使用Cookieless的方式存儲(chǔ)Session信息的方法如下:
找到當(dāng)前Web應(yīng)用程序的根目錄,打開(kāi)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存儲(chǔ)了,而是將其通過(guò)URL存儲(chǔ)。關(guān)閉當(dāng)前的IE,打開(kāi)一個(gè)新IE,重新訪問(wèn)剛才的Web應(yīng)用程序,就會(huì)看到類似下面的樣子:
其中,http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245) /default.aspx中黑體標(biāo)出的就是客戶端的Session ID。注意,這段信息是由IIS自動(dòng)加上的,不會(huì)影響以前正常的連接。
ASP.NET中服務(wù)器端Session狀態(tài)的存儲(chǔ) 準(zhǔn)備工作:
為了您能更好的體驗(yàn)到實(shí)驗(yàn)現(xiàn)象,您可以建立一個(gè)叫做SessionState.aspx的頁(yè)面,然后把以下這些代碼添加到< 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>
這個(gè)SessionState.aspx的頁(yè)面可以用來(lái)測(cè)試在當(dāng)前的服務(wù)器上是否丟失了Session信息。
將服務(wù)器Session信息存儲(chǔ)在進(jìn)程中
讓我們來(lái)回到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"
/>
當(dāng)mode的值是InProc時(shí),說(shuō)明服務(wù)器正在使用這種模式。
分享:減少.NET應(yīng)用程序內(nèi)存占用的一則實(shí)踐最近一周比較忙,主要的工作內(nèi)容是在做一個(gè)叫鍵盤(pán)精靈的東西,簡(jiǎn)單來(lái)講就是將很多數(shù)據(jù)放到內(nèi)存中,對(duì)這些數(shù)據(jù)進(jìn)行快速檢索,然后找出根據(jù)輸入條件最匹配的10條記錄并予以展示。具體和下面兩款炒股軟件的相關(guān)功能類似: 數(shù)據(jù)以文本形式存在文件中,且數(shù)據(jù)量較大,有近20
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.Net中利用CSS實(shí)現(xiàn)多界面兩法
- 看看一個(gè).net版對(duì)話框控件
- ASP.NET對(duì)IIS中的虛擬目錄進(jìn)行操作
- ASP.NET 2.0中CSS不正常的解決方法
- ASP.NET 2.0實(shí)現(xiàn)防止同一用戶同時(shí)登陸
- ASP.NET中利用存儲(chǔ)過(guò)程實(shí)現(xiàn)模糊查詢
- ASP.NET生成靜態(tài)HTML頁(yè)面并分別按年月目錄存放
- 解析Web開(kāi)發(fā)模式的顛覆者:ASP.NET MVC
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- 學(xué)習(xí)asp.net之SQL語(yǔ)句查詢效率和安全性
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-.Net網(wǎng)站的web.config配置說(shuō)明(3)。