2010-12-20 51 views
0

我正在訪問一個應用程序,這個應用程序在過去的兩年時間裏一直在使用,它迫切需要重構。這是我自己的工作,但是當你再次訪問舊代碼時,你知道它是什麼樣子。重構會話變量

無論如何,我一直在使用excellent advice at sourcemaking來重構,代碼已經看起來好多了。

現在的問題是在整個代碼中都會加載Session [「variable」],那麼最重要的方法是什麼?我發現this article at code project但顯然它可能是相當危險的。

+0

該代碼是危險的警告說,這是如果您通過在IE中打開多個選項卡來測試「多個用戶」。這不是一個真正的多用戶場景會起作用,每個不同的訪問者都有自己的Session。 – rtpHarry 2010-12-20 13:26:15

+0

所以,你是否同意這篇文章對我所要達到的目標是好的? – 2010-12-20 15:11:59

回答

4

重構隨機會話使用像這樣的是建立一個靜態SessionWrapper與封裝ASP.NET會話存儲靜態性能的最佳方式:

static class SessionWrapper 
{ 
    public static string Variable 
    { 
     get { return Session["variable"]; } 
     set { Session["variable"] = value; } 
    } 
} 

這也將讓你把一些邏輯環繞獲取和設置這些價值觀並將它們放在一個集中的地方。

我還強烈建議您在開始此過程之前進行一些集成測試,以確保您沒有遺漏任何東西。

+0

這種方法的另一個優點是無需在任何地方進行類型檢查。 – dhinesh 2010-12-20 13:49:07

+0

要對此進行「重構」,可以使用VS中的查找/替換完成。 – cjk 2010-12-20 14:02:58