Example #1
0
        /// <summary>
        /// Safely adds a cookie to client browser. The existing cookie (by name) will be overwritten
        /// </summary>
        /// <param name="context"></param>
        /// <param name="cookieName"></param>
        /// <param name="cookieValue"></param>
        /// <param name="expiredInDay"></param>
        public static void AddCookie(this HttpContextBase context, string cookieName, string cookieValue, int expiredInDay = 90)
        {
            HttpCookie cookie = new HttpCookie(cookieName);

            cookie.Value   = cookieValue;
            cookie.Expires = DateTime.Now.AddDays(expiredInDay);
            context.AddCookie(cookie);
        }
Example #2
0
 /// <summary>
 /// Delete a cookie specified by <c>cookieName</c>
 /// </summary>
 /// <param name="context"></param>
 /// <param name="cookieName"></param>
 public static void DeleteCookie(this HttpContextBase context, string cookieName)
 {
     if (context.Request.Cookies[cookieName] != null)
     {
         HttpCookie cookie = new HttpCookie(cookieName)
         {
             Expires = DateTime.Now.AddDays(-1d)
         };
         context.AddCookie(cookie);
     }
 }
    private void SaveSessionObjectDataToCookie(SessionData data, HttpContextBase context)
    {
      //for performance reason, save session object data to http context
      SaveSessionObjectDataToHttpContext(data, context);


      BinaryFormatter bin = new BinaryFormatter();
      MemoryStream stream = new MemoryStream();
      bin.Serialize(stream, data);

      string dataString = Convert.ToBase64String(stream.ToArray());
      stream.Close();

      string sessionId = data.Username;
      string ticket = string.Format("{0}{1}", DateTime.Now.Ticks, Guid.NewGuid());

      string chksum = CreateChecksum(dataString, ticket, sessionId);

      string cookieValue = string.Format("{0}*****{1}*****{2}", dataString, ticket, chksum);
      context.AddCookie(_sessionDataCookieName, cookieValue);
    }