gpt4 book ai didi

.net - 如何序列化邮件消息?

转载 作者:行者123 更新时间:2023-12-04 02:16:21 26 4
gpt4 key购买 nike

使用 los foratter 序列化 mial 消息时,我得到以下信息。

错误:Sys.WebForms.PageRequestManagerServerErrorException:序列化“System.Net.Mail.MailMessage”类型的值“System.Net.Mail.MailMessage”时出错。

有没有一种简单的方法来序列化这个对象,还是我必须单独序列化每个 fhte 属性?

最佳答案

我知道这是一篇较旧的帖子,但我也遇到了需要序列化 ​​MailAddress 类的问题,因此我创建了一个可序列化的版本。如果您可以使用自定义 MailAddress 类而不是 System.Net.Mail.MailAddress 类,这可能对您有用。

/// <summary>
/// Serializable implementation of <see cref="System.Net.Mail.MailAddress"/>.
/// </summary>
[Serializable]
public class MailAddress : System.Net.Mail.MailAddress, ISerializable
{
// Keep reference to the display name encoding so we can serialize/deserialize the value
private readonly Encoding _displayNameEncoding;

public MailAddress(string address)
: this(address, null, null)
{
}

public MailAddress(string address, string displayName)
: this(address, displayName, null)
{
}

public MailAddress(string address, string displayName, Encoding displayNameEncoding)
: base(address, displayName, displayNameEncoding)
{
// Keep reference to the supplied displayNameEncoding so we can serialize/deserialize this value
_displayNameEncoding = displayNameEncoding ?? Encoding.GetEncoding("utf-8");
}

public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("Address", base.Address);
info.AddValue("DisplayName", base.DisplayName);
info.AddValue("DisplayNameEncoding", _displayNameEncoding);
}

protected MailAddress(SerializationInfo info, StreamingContext context)
: this(info.GetString("Address"), info.GetString("DisplayName"), (Encoding)info.GetValue("DisplayNameEncoding", typeof (Encoding)))
{
}
}

关于.net - 如何序列化邮件消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1122058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com