请帮我解决这个WCF错误....如何为WCF处理这些内置类?
类型'System.Net.Mail.MailAddress'无法序列化 . 请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员 . 有关其他受支持的类型,请参阅Microsoft .NET Framework文档 .
您可以实现一个知道如何de(序列化) MailAddress 类型的surrogate .
MailAddress
创建一个自定义类,其中包含从 MailAddress 通过线路传输所需的所有数据/属性,然后将 MailAddress 映射到此自定义类 . 你需要在客户端做相反的事情 . 如果保留相同的属性名称/类层次结构,则像 AutoMapper 这样的工具可以减少to / from映射中的编码 .
AutoMapper
2 回答
您可以实现一个知道如何de(序列化)
MailAddress
类型的surrogate .创建一个自定义类,其中包含从
MailAddress
通过线路传输所需的所有数据/属性,然后将MailAddress
映射到此自定义类 . 你需要在客户端做相反的事情 . 如果保留相同的属性名称/类层次结构,则像AutoMapper
这样的工具可以减少to / from映射中的编码 .