我有这个对象:
public class Announcement
{
public int Id { get; set; }
public DateTime DateSent { get; set; }
private IList<string> _recipients;
public IList<string> Recipients
{
get { return _recipients; }
set { _recipients = value; }
}
public string RecipientsString
{
get { return String.Join("\n", _recipients); }
set { _recipients = value.Split('\n').ToList(); }
}
}
我可以使用 DateSent 和 RecipientString(由 \n 分隔的电子邮件地址字符串)填充此对象,并将其毫无问题地保存到数据库中。
现在我想将其移至 Web 服务,以便我们可以在多个应用程序中使用它。
我在 web 服务中创建了完全相同的对象,并在本地(在服务上)测试一切都按预期工作。
但是,如果我在客户端上填充对象并将其传递给要保存的服务,则 RecipientString 始终为空(非空)。DateSent 很好。
我猜数据在序列化中丢失了,但我不知道为什么,或者如何解决这个问题。我还认为,这可能与电子邮件地址中的 @ 有关,但我已经排除了这种可能性。有什么建议么?