欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#程序中session值的保存方法以及轉(zhuǎn)為字符串的方法總結(jié)

 更新時間:2016年04月05日 16:52:13   作者:huangzhe3976  
這篇文章主要介紹了C#程序中session值的保存方法以及轉(zhuǎn)為字符串的方法總結(jié),經(jīng)常被用于ASP.NET網(wǎng)絡編程項目中,需要的朋友可以參考下

C#中保存Session的三種方法及Web.Config設置

保存session到sql server;,需要指定Sql Server;服務器,這種方法因為要讀寫數(shù)據(jù)庫最慢

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

保存session到windows進程,要使用這種方法,需要打開aspnet_state.exe服務,通過此方法,我們可以將session保存到其它服務器, 這樣可以實現(xiàn)多臺服務器的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 的值轉(zhuǎn)為 String
在實際操作當中,我們經(jīng)常會遇到將 Session 的值轉(zhuǎn)為 String 去判斷是否為空或者判斷是否有權(quán)限訪問某頁,這里的轉(zhuǎn)換過程如果用得不恰當會拋出異常,給訪問者帶來不好的用戶體驗。這里我把它寫成筆記,以供參考。

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

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

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

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

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

它們的值都為 ""。

所以,在判斷 Session["a"] 是否有值時,如果用“.ToString()”,那么必需按照下面的格式與順序?qū)懀?/p>

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

在這里,要注意判斷的順序:先判斷是否為 null,再判斷是否為 empty。如果 Session["a"] 為 null,則 Session["a"] != null 為 false 自然不會執(zhí)行 .ToString(),也就不會報錯;如果 Session["a"] 不為 null,則執(zhí)行 .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 的判斷順序沒有關(guān)系。

最簡單的方法就是用 Convert.ToString

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

不管 Session["a"] 為 null 還是 empty,Convert.ToString(Session["aaa"]) 都是 empty。

相關(guān)文章

  • Windows下C#的GUI窗口程序中實現(xiàn)調(diào)用Google Map的實例

    Windows下C#的GUI窗口程序中實現(xiàn)調(diào)用Google Map的實例

    這篇文章主要介紹了Windows下C#的GUI窗口程序中實現(xiàn)調(diào)用Google Map的實例,如果只想調(diào)用瀏覽器打開網(wǎng)頁的話可以看文章最后的方法,需要的朋友可以參考下
    2016-04-04
  • 詳解如何將.NET應用轉(zhuǎn)換成Window服務

    詳解如何將.NET應用轉(zhuǎn)換成Window服務

    這篇文章主要為大家詳細介紹了如何將.NET8.0應用程序轉(zhuǎn)換成Windows服務,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C# 3DES加密詳解

    C# 3DES加密詳解

    3Des對每個數(shù)據(jù)塊進行了三次的DES加密算法,是DES的一個更安全的變形。比起最初的DES,3DES更為安全。下面我們來看下在C#中的3DES加密方式的使用
    2015-06-06
  • C#實現(xiàn)將CSV轉(zhuǎn)為XLSX文件

    C#實現(xiàn)將CSV轉(zhuǎn)為XLSX文件

    Microsoft?Excel的XLSX格式以及基于文本的CSV(逗號分隔值)格式,是數(shù)據(jù)交換中常見的文件格式,本文主要介紹了如何在C#中以編程的方式將CSV文件轉(zhuǎn)化為XLSX?文件,需要的可以參考下
    2024-03-03
  • C# 程序集和反射詳解

    C# 程序集和反射詳解

    本文主要介紹了C# 程序集和反射的相關(guān)知識。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • C#?HttpClient超時重試機制詳解

    C#?HttpClient超時重試機制詳解

    超時重試的實現(xiàn)方式可以使用循環(huán)結(jié)構(gòu),在請求發(fā)起后等待一定時間,若超時未收到響應,則再次發(fā)起請求,循環(huán)次數(shù)可以根據(jù)實際情況進行設置,一般建議不超過三次,這篇文章主要介紹了C#?HttpClient超時重試,需要的朋友可以參考下
    2023-06-06
  • c#連接access數(shù)據(jù)庫操作類分享

    c#連接access數(shù)據(jù)庫操作類分享

    本文介紹了c#連接access數(shù)據(jù)庫的方法,可以執(zhí)行刪除、更新、插入等操作,大家參考使用吧
    2014-01-01
  • C#實現(xiàn)獲取機器碼的示例詳解

    C#實現(xiàn)獲取機器碼的示例詳解

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)獲取機器碼的功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#引用類型和值類型的介紹與實例

    C#引用類型和值類型的介紹與實例

    這篇文章主要介紹了C#引用類型和值類型,有需要的朋友可以參考一下
    2013-12-12
  • Unity的IPostBuildPlayerScriptDLLs實用案例深入解析

    Unity的IPostBuildPlayerScriptDLLs實用案例深入解析

    這篇文章主要為大家介紹了Unity的IPostBuildPlayerScriptDLLs實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論