WCF 序列化错误 - “System.Net.Mail.MailAddress”无法序列化
请帮我解决这个 WCF 错误...我如何处理 WCF 的这些内置类?
无法序列化类型“System.Net.Mail.MailAddress”。考虑 使用 DataContractAttribute 属性对其进行标记,并标记所有 您希望使用 DataMemberAttribute 序列化其成员的数量 属性。有关其他信息,请参阅 Microsoft .NET Framework 文档 支持的类型。
Please help me with this WCF error....How do I handle these builtin classes for WCF?
Type 'System.Net.Mail.MailAddress' cannot be serialized. Consider
marking it with the DataContractAttribute attribute, and marking all
of its members you want serialized with the DataMemberAttribute
attribute. See the Microsoft .NET Framework documentation for other
supported types.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以实现一个知道如何反(序列化)
MailAddress
类型。You could implement a surrogate that knows how to de(serialize) the
MailAddress
type.创建一个自定义类,其中包含通过网络传输
MailAddress
所需的所有数据/属性,然后将MailAddress
映射到此自定义类。您需要在客户端上执行相反的操作。如果保持相同的属性名称/类层次结构,像 AutoMapper 这样的工具可以减少到/从映射中的编码。Create a custom class which contains all the data / properties that you need from
MailAddress
to transport across the wire and then map theMailAddress
to this custom class. You'll need to do the opposite on the client. If you keep the same property names / class hierarchy, a tool likeAutoMapper
could reduce coding in the to / from mapping.