首页 > 解决方案 > 是否可以将字符串变量和 cookiecontainer 保存在同一个本地文件中?

问题描述

我需要在其他项目中使用一个字符串变量(一个 guid 参数)和一个 cookie 容器,我需要将这些保存在本地。我已经保留了 cookie 容器并使用下面的代码:

public static void WriteCookiesToDisk(string file, CookieContainer cookieJar)
        {
            using (Stream stream = File.Create(file))
            {
                try
                {
                    BinaryFormatter formatter = new BinaryFormatter();
                    formatter.Serialize(stream, cookieJar);
                }
                catch (Exception e)
                {
                    Console.Out.WriteLine("Cookie yazdırılıken hata oluştu: " + e.GetType());
                }
            }
        }

我需要知道有没有办法将 guid 参数(字符串 var.)和 cookie 容器保存在同一个文件中,并在另一个项目中访问它们,就好像它们是变量一样。

标签: c#serializationbinaryformatter

解决方案


创建一个类来存储两者:

[Serializable]
public class Container
{
    public string MyStringValue { get; set; }
    public CookieContainer Cookies { get; set; }
}

创建一个包含两个对象的实例:

var objectToSerialize = new Container() { MyStringValue = "hello", Cookies = cookieJar };

然后序列化它:

BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, objectToSerialize);

推荐阅读