3

我想设置 WCF 服务来发送电子邮件。System.Net.MailMessage 似乎不是可序列化的,并且不能传入[DataContract]

我收到的错误是

无法序列化类型“System.Net.Mail.MailAddress”。考虑用 DataContractAttribute 标记它

有什么建议么?

4

1 回答 1

3

传递给 WCF 服务的任何内容都必须是 XML 或二进制可序列化的。

“经典”消息传递方法是:

  1. 创建一个简单的 DataContract 类,该类具有 MailMessage 的所有必需属性
  2. 在调用服务之前,在 DataContract 类的新实例中设置 MailMessage 的所有属性
  3. 调用服务,传递 DataContract
  4. 在服务内部,创建 MailMessage 的新实例并将属性分配给它,然后发送它
于 2009-01-15T15:09:52.260 回答