一個.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 CORE AUTOMAPPER 對映一個類的子類APP
- Mybatis騷操作-通用查詢工具類MyBatis
- 推薦一個java操作ftp的工具類JavaFTP
- Cookie的相關操作Cookie
- Java操作Cookie之新增CookieJavaCookie
- HExcel,一個簡單通用的匯入匯出Excel工具類Excel
- .NET關於資料庫操作的類-囊括所有的操作資料庫
- 一個.Net簡單、易用的配置檔案操作庫
- .net core下對於Excel的一些操作及使用Excel
- ASP.NET MVC下使用AngularJs語言(七):Cookie的使用ASP.NETMVCAngularJSCookie
- 搭建一個Java專案可直接拿去使用的通用工具類Java
- Python Selenium操作Cookie的方法PythonCookie
- 封裝操作cookie的方法封裝Cookie
- C#XmlHelper幫助類操作Xml文件的通用方法彙總C#XML
- 封裝一個通用的PopupWindow封裝
- 一個.NET Core下的開源外掛框架框架
- Flask(11)- 操作 CookieFlaskCookie
- Kotlin 打造一個RecyclerView的通用Adapter(一)KotlinViewAPT
- .net core cookie 鑑權Cookie
- ASP.NET之CookieASP.NETCookie
- c#一個批次下載圖片的類C#
- laravel操作session和cookieLaravelSessionCookie
- Django(33)Django操作cookieDjangoCookie
- 【Javascript】——簡單cookie操作JavaScriptCookie
- BaseViewController(一個通用的帶導航欄的基礎控制器+封裝庫/類)ViewController封裝
- redis-12.key的通用操作Redis
- .NET下免費開源的PDF類庫(PDFSharp)
- java中cookie操作詳細JavaCookie
- 前端基礎(七):cookie操作前端Cookie
- jmeter如何新增一個cookie管理頭JMeterCookie
- 這次我們聊一下CookieCookie
- Spark SQL:通用的load和save操作SparkSQL
- Java中的13個原子操作類介紹Java
- Kotlin 寫一個通用Adapter (二)KotlinAPT
- 開發一個MyBatis通用Mapper的輪子MyBatisAPP
- 覆盤一個商品期貨的通用模型模型
- Gopusher 一個通用的長連線服務Go
- 一個通用的匯入匯出excel的思路Excel