Welcome

首页 / 软件开发 / .NET编程技术 / 如何基于MongoDB打造.Net的分布式Session子系统

如何基于MongoDB打造.Net的分布式Session子系统2014-07-03 cnblogs AaronTaobao有她自己的分布式session框架,.net阵营也不能落后了,在下做了个 基于MongoDB的支持最多26台MongoDB的分布式Session框架。

先看看配置文件:

<?xml version="1.0" encoding="utf-8" ?><MongoDBSession><DbName>SessionDB</DbName><IdentityMap Identity="A">mongodb://localhost</IdentityMap><IdentityMap Identity="B">mongodb://localhost</IdentityMap><IdentityMap Identity="C">mongodb://localhost</IdentityMap><IdentityMap Identity="D">mongodb://localhost</IdentityMap><IdentityMap Identity="E">mongodb://localhost</IdentityMap><IdentityMap Identity="F">mongodb://localhost</IdentityMap><IdentityMap Identity="G">mongodb://localhost</IdentityMap><IdentityMap Identity="H">mongodb://localhost</IdentityMap><IdentityMap Identity="I">mongodb://localhost</IdentityMap><IdentityMap Identity="J">mongodb://localhost</IdentityMap><IdentityMap Identity="K">mongodb://localhost</IdentityMap><IdentityMap Identity="L">mongodb://localhost</IdentityMap><IdentityMap Identity="M">mongodb://localhost</IdentityMap><IdentityMap Identity="N">mongodb://localhost</IdentityMap><IdentityMap Identity="O">mongodb://localhost</IdentityMap><IdentityMap Identity="P">mongodb://localhost</IdentityMap><IdentityMap Identity="Q">mongodb://localhost</IdentityMap><IdentityMap Identity="R">mongodb://localhost</IdentityMap><IdentityMap Identity="S">mongodb://localhost</IdentityMap><IdentityMap Identity="T">mongodb://localhost</IdentityMap><IdentityMap Identity="U">mongodb://localhost</IdentityMap><IdentityMap Identity="V">mongodb://localhost</IdentityMap><IdentityMap Identity="W">mongodb://localhost</IdentityMap><IdentityMap Identity="X">mongodb://localhost</IdentityMap><IdentityMap Identity="Y">mongodb://localhost</IdentityMap><IdentityMap Identity="Z">mongodb://localhost</IdentityMap></MongoDBSession>
从Identity A一直到Z,默认分成了26个Map,具体的C#应用代码:

protected void btnTest_Click(object sender, EventArgs e){Session["A"] = DateTime.Now;Session["B"] = 1111111111111;Session["C"] = "fffffffffffffff";}protected void btnGetSession_Click(object sender, EventArgs e){Response.Write(Session["A"].ToString());Response.Write("<br />");Response.Write(Session["B"].ToString());Response.Write("<br />");Response.Write(Session["C"].ToString());}protected void btnAbandon_Click(object sender, EventArgs e){Session.Abandon();}