一個.net下通用的Cookie操作類
筆者曾經參與一個大型多使用者商城的開發,系統使用者角色很多,有買家,賣家,代理商,系統管理員,普通管理員,超級管理員等,這些使用者都涉及到登陸系統,然後建立cookies的問題,由於角色的不同,這些使用者登陸系統後,所建的cookies都相對獨立,而且對一個多使用者商城來說,cookies區分域很重要,不同的域名要建不同的域。因此筆者在開發的過程中,寫了很多次的建cookies,取cookies的程式碼,不勝其煩!
既然都是建cookies,那麼肯定有共同點,我們何不抽象出來,寫一個通用的Cookie操作類呢,下面筆者就以.net為例,來說明下如何實現這個類吧!
/////以下是建cookies的函式
public void SetCookies(string domain, string type, XieGou.XGMap map)
{
HttpCookie cookie = new HttpCookie(type);//定義cookie物件
DateTime dt = DateTime.Now;//定義時間物件
TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用時間,具體查msdn
cookie.Expires = dt.Add(ts);//新增作用時間
cookie.Domain = domain;
for(int i =0 ;i < map.Size() ; i++)
{
cookie.Values.Add(map.GetTag(i),map.GetValue(i).ToString());//增加屬性
}
page.Response.AppendCookie(cookie);//確定寫入cookie中
}
/////以下是取cookies的函式
public string GetCookies(string type, string name)
{
if(page.Request.Cookies[type] != null)
{
if(page.Request.Cookies[type].Values[name] != null)
{
return page.Request.Cookies[type].Values[name].ToString();
}
else
{
return "0";
}
}
return "0";
}
下面我們來看下,如何呼叫這兩個函式:
XieGou.XGMap map = new XGMap(); ///這裡用到的Map類,可以參考網上資料寫一個
map.Add("shopid",shop.m_id.ToString()); ///新增map對應表
map.Add("shopname",shop.m_name.ToString());
func.SetCookies(".shopxg.com","shopxg_namespace",map);
原理其實很簡單,先定義一個map類,把要建的cookies名稱和值放到map表裡,然後統一由SetCookies來建cookies,這樣寫的好處,就是可以少寫很多程式碼,特別是需要頻繁建cookies的網站!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-536617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Cookie 詳解以及實現一個 cookie 操作庫Cookie
- .net框架通用物件操作框架物件
- C#操作SQL Server通用類C#SQLServer
- 關於一個樹狀結構的通用類
- 學習心得:asp.net操作cookieASP.NETCookie
- Mybatis騷操作-通用查詢工具類MyBatis
- 【仰天一笑】asp.net c#中對cookie的操作ASP.NETC#Cookie
- 一個簡單清晰的Redis操作類Redis
- C#:資料庫SQL操作通用類C#資料庫SQL
- 推薦一個java操作ftp的工具類JavaFTP
- 操作cookieCookie
- 關於ASP.NET/C#中對Cookie的操作ASP.NETC#Cookie
- HExcel,一個簡單通用的匯入匯出Excel工具類Excel
- .NET CORE AUTOMAPPER 對映一個類的子類APP
- Java操作Cookie之新增CookieJavaCookie
- Cookie的相關操作Cookie
- java對cookie的操作JavaCookie
- 搭建一個Java專案可直接拿去使用的通用工具類Java
- asp.net 利用NPOI匯出Excel通用類ASP.NETExcel
- js cookie操作JSCookie
- js操作cookieJSCookie
- 封裝一個通用的PopupWindow封裝
- C#XmlHelper幫助類操作Xml文件的通用方法彙總C#XML
- PHP封裝的一個單例模式Mysql操作類PHP封裝單例模式MySql
- 封裝操作cookie的方法封裝Cookie
- COOKIE的幾種操作方式Cookie
- 一個完整的類用來生成RSACryptoServiceProvider單例類(.NET)IDE單例
- 一個.Net簡單、易用的配置檔案操作庫
- .NET關於資料庫操作的類-囊括所有的操作資料庫
- 操作cookie外掛jquery.cookie用法CookiejQuery
- .net core下對於Excel的一些操作及使用Excel
- 搭建一個通用的腳手架
- Flask(11)- 操作 CookieFlaskCookie
- 【ASP.NET開發】ASP.NET對SQLServer的通用資料庫訪問類ASP.NETSQLServer資料庫
- c#一個批次下載圖片的類C#
- Extjs DOM操作的幾個類JS
- 一個.NET Core下的開源外掛框架框架
- ViewPager 系列之 打造一個通用的 ViewPagerViewpager