public string ToEncodedString(IHttpUtility httpUtility) { var sb = new StringBuilder(50); sb.AppendFormat("{0}={1}; path={2}", httpUtility.UrlEncode(Name), httpUtility.UrlEncode(Value), Path ?? "/"); if (Expires != null) { sb.Append("; expires="); sb.Append(Expires.Value.ToUniversalTime().ToString("ddd, dd-MMM-yyyy HH:mm:ss", DateTimeFormatInfo.InvariantInfo)); sb.Append(" GMT"); } if (Domain != null) { sb.Append("; domain="); sb.Append(Domain); } if (Secure) { sb.Append("; Secure"); } if (HttpOnly) { sb.Append("; HttpOnly"); } return sb.ToString(); }