Использовать базу данных :-)
Можно попробовать сериализовать
CookieDictionary, но
Dictionary видимо намекает, что это будет непросто. Если не получится, то можно попробовать сделать свой, сериализуемый,
CookieDictionary и использовать его.
С
JSON наверное проблем будет меньше, по крайней мере обычный
Dictionary с помощью
Newtonsoft.Json можно без проблем сериализовать/десериализовать.
Можно попробовать с
CookieDictionary, примерно так:
// получаем json:
string json = JsonConvert.SerializeObject(cookieDictionary);
// получаем экземпляр CookieDictionary из json:
var cookieDictionary2 = JsonConvert.DeserializeObject<CookieDictionary>(json);
Если с сериализацией будут проблемы и при преобразовании экземпляра
CookieDictionary в строку на выходе всегда получается строка вида:
ключ=значение; ключ=значение, то можно разбить эту строку и получить коллекцию:
// string cookiesRaw = File.ReadAllText(string.Format("Cookies_{0}.txt", textBox1.Text));
string cookiesRaw = "ключ1=значение1; ключ2=значение2";
var cookies = cookiesRaw.Split(';').Select(itm => itm.Split('=')).
ToDictionary(k => k[0].Trim(), v => v[1].Trim());
В переменной
cookies будет экземпляр
Dictionary, который можно попробовать преобразовать в
CookieDictionary (зависит от реализации), либо создать и наполнить экземпляр
CookieDictionary.
httpRequest.Cookies = new CookieDictionary();
foreach(var item in cookies)
{
httpRequest.Cookies.Add(item.Key, item.Value);
}