程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#法式中session值的保留辦法和轉為字符串的辦法總結

C#法式中session值的保留辦法和轉為字符串的辦法總結

編輯:C#入門知識

C#法式中session值的保留辦法和轉為字符串的辦法總結。本站提示廣大學習愛好者:(C#法式中session值的保留辦法和轉為字符串的辦法總結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#法式中session值的保留辦法和轉為字符串的辦法總結正文


C#中保留Session的三種辦法及Web.Config設置

保留session到sql server;,須要指定Sql Server;辦事器,這類辦法由於要讀寫數據庫最慢

<sessionState
mode="SQLServer"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20" />

保留session到windows過程,要應用這類辦法,須要翻開aspnet_state.exe辦事,經由過程此辦法,我們可以將session保留到其它辦事器, 如許可以完成多台辦事器的session同享

<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42626"
cookieless="false"
timeout="20" />

默許情形,.net將session保留到以後過程中,這類方法最快,然則不克不及多台辦事器同享session

<sessionState
mode=”InProc”
cookieless=”false”
timeout=”20”
/>

將Session 的值轉為 String
在現實操作傍邊,我們常常會碰到將 Session 的值轉為 String 去斷定能否為空或許斷定能否有權限拜訪某頁,這裡的轉換進程假如用得不適當會拋出異常,給拜訪者帶來欠好的用戶體驗。這裡我把它寫成筆記,以供參考。

1.當 Session["a"] == null 時,

Session["a"].ToString() 拋出異常;

(string)Session["a"] 為 null;

Convert.ToString(Session["a"]) 為 ""。

2.當 Session["a"] == "" 時,

它們的值都為 ""。

所以,在斷定 Session["a"] 能否有值時,假如用“.ToString()”,那末必須依照上面的格局與次序寫:

if (Session["a"] != null && Session["a"].ToString() != "")

在這裡,要留意斷定的次序:先斷定能否為 null,再斷定能否為 empty。假如 Session["a"] 為 null,則 Session["a"] != null 為 false 天然不會履行 .ToString(),也就不會報錯;假如 Session["a"] 不為 null,則履行 .ToString() 也不會報錯。

同理 if (Session["a"] == null || Session["a"].ToString() == "") 此句也正當可用。

用 .ToString() 的辦法寫格局比擬固定,假如換成用 (string) 寫,會比擬自在:

if ((string)Session["a"] != null && (string)Session["a"] != "")

if (Session["a"] != null && (string)Session["a"] != "")

這兩種寫法都是可行的,並且對 null 和 empty 的斷定次序沒有關系。

最簡略的辦法就是用 Convert.ToString

if (Convert.ToString(Session["aaa"]) == "")

不論 Session["a"] 為 null 照樣 empty,Convert.ToString(Session["aaa"]) 都是 empty。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved