воскресенье, 11 марта 2012 г.

Serialize CookieContainer to string

Как сериализовать CookieContainer в строку, а затем получить его обратно.
private static string SerializeCookiesToString(CookieContainer cookieContainer)
{
    using (var stream = new MemoryStream())
    {
        try
        {
            new BinaryFormatter().Serialize(stream, cookieContainer);
            return Convert.ToBase64String(stream.ToArray());
        }
        catch (Exception)
        {
            return string.Empty;
        }
    }
}

private static CookieContainer DeSerializeCookiesFromString(string cookies)
{
    try
    {
        using (var stream = new MemoryStream(Convert.FromBase64String(cookies)))
        {
            return (CookieContainer)new BinaryFormatter().Deserialize(stream);
        }
    }
    catch (Exception)
    {
        return new CookieContainer();
    }
}