CookieContainer の逆シリアル化に問題があるようです。正常にシリアル化されますが、逆シリアル化すると、Object reference not set to an instance of an object
以下の行でエラーが発生しますcookieJar = (CookieContainer)info.GetValue("cookieJar", cookieJar.GetType());
。
しかし、新しい Cookie コンテナーを作成する行のコメントを外すと、エラーは発生せず、シリアライズされた CookieContainer はデシリアライズされます。
cookieJar プロパティは MySession クラスのプロパティです。
public MySession(SerializationInfo info, StreamingContext context)
{
//cookieJar = new CookieContainer()
cookieJar = (CookieContainer)info.GetValue("cookieJar", cookieJar.GetType());
email = info.GetString("email");
password = info.GetString("password");
client = new HttpClient(new HttpClientHandler() { CookieContainer = cookieJar });
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("cookieJar", cookieJar);
info.AddValue("email", email);
info.AddValue("password", password);
}
どうしてこれなの?