[C#] 纯文本查看 复制代码 using System;
using System.Web;
using System.Web.Security;
namespace OIFrameWork.Common
{
public class CookieFunction
{
private static CookieFunction _instance;
public static readonly object CookieFunctionObj = new object();
public static CookieFunction GetInstance()
{
if (_instance != null)
return _instance;
lock (CookieFunctionObj)
{
return _instance ?? ( _instance = new CookieFunction() );
}
}
public bool InsertCookie(String userCode,String loginName, int outMinutes)
{
try
{
var ticket = new FormsAuthenticationTicket(1, userCode,
DateTime.Now, DateTime.Now.AddMinutes(outMinutes), true, loginName,
FormsAuthentication.FormsCookiePath);
var key = FormsAuthentication.Encrypt(ticket);
var hkCookie = new HttpCookie(FormsAuthentication.FormsCookieName, key)
{
Domain = FormsAuthentication.CookieDomain
};
HttpContext.Current.Response.Cookies.Add(hkCookie);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 读取Cookies
/// </summary>
/// <param name="strName">主键</param>
/// <returns></returns>
public string GetCookie(string strName)
{
var cookie = HttpContext.Current.Request.Cookies[strName];
return cookie != null ? cookie.Value : null;
}
/// <summary>
/// 删除Cookies
/// </summary>
/// <param name="strName">主键</param>
/// <returns></returns>
public bool DelCookie(string strName)
{
try
{
var cookie = new HttpCookie(strName)
{
Expires = DateTime.Now.AddDays(-1)
};
//Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
HttpContext.Current.Response.Cookies.Add(cookie);
return true;
}
catch
{
return false;
}
}
public void QuitCookie()
{
FormsAuthentication.SignOut();
}
}
}
|