C# redis 分布式session儲存

來源:互聯網
上載者:User

標籤:

https://github.com/uliian/SessionExtentionStore

一個基於Redis的Session儲存擴充方案,解決ASP.NET中Session的局限性和跨應用程式使用的局限性
  •  9 commits
  •  1 branch
  •  0 releases
  •  1 contributor
  1.  C# 99.3%
  2.  ASP 0.7%
C#ASP branch: master SessionExtentionStore/

Merge branch ‘master‘ of https://github.com/uliian/SessionExtentionSt… …

latest commit f11b84d8f4 uliian authored on 5 Apr 2014
  SessionExtention 改名 9 months ago
  SessionExtentionStore 改名 9 months ago
  packages Session擴充儲存 9 months ago
  .gitattributes 初始化提交以添加預設 .gitIgnore 和 .gitAttribute 檔案。 9 months ago
  .gitignore 初始化提交以添加預設 .gitIgnore 和 .gitAttribute 檔案。 9 months ago
  README.md Update README.md 9 months ago
  SessionExtention.sln 改名 9 months ago
  SessionExtention.sln.DotSettings Session擴充儲存 9 months ago
 README.mdSessionExtentionStore

一個基於Redis的Session儲存擴充方案,解決ASP.NET中Session的局限性和跨應用程式使用的局限性

原生的Session解決方案存在著跨應用程式的困難,擴充性的困難,而SessionExtentionStore方案致力於解決這個問題。 這是一個簡單的處理方案,使用了這個解決方案,您能將多個應用間資料互動交由SessionExtentionStore解決, 在使用共用Session提供SSO的解決方案中,尤其有用。

我採用的是類Session的處理方式,和SessionId綁定到了一起,這樣就能依賴於Session的機制將使用者和擴充綁定到了一起。

使用方法: 配置web.config,增加以下配置節點:

 <system.web>    <httpModules>      <add name="SessionExtentionStore" type="SessionExtentionStore.UpdateTTL"/>    </httpModules> <system.web>   <appSettings>     <add key="SessionExtention" value="127.0.0.1"/>  </appSettings>

要是MVC環境,則建立一個Controller父類,派生自Controller類,若是WebForm則建立一個父類派生自System.Web.UI.Page, 父類加入以下屬性定義:

        private StoreContainer _store;        public StoreContainer Store        {            get            {                if (!string.IsNullOrEmpty(Session.SessionID))                {                    Session["__TempCreate__"] = 1;                    return new StoreContainer(Session.SessionID);                }                return _store ?? (_store = new StoreContainer(Session.SessionID));            }        }

其他所有頁面都派生自這兩個父類,然後均可以使用Store屬性進行資料存放區,與使用Session的方式一樣。 因為儲存內容當中帶有類型資訊,若帶有非mscorlib帶有的的資料類型需要在多應用程式間共用,需要在子類中使用 Store.GetJson(string key)或者GetValue(string key)方法。

我的第一個可以使用的開源項目,我在我所負責的項目中已經開始使用,希望有能看到的朋友給予支援,提出寶貴意見。謝謝!

C# redis 分布式session儲存

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.