.Net網(wǎng)站的web.config配置說(shuō)明(3)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

      推薦: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

      來(lái)源:模板無(wú)憂//所屬分類:.Net教程/更新時(shí)間:2013-04-17
      相關(guān).Net教程