Могу ли я передать System.Net.MailMessage службе WCF? - PullRequest
3 голосов
/ 15 января 2009

Я бы хотел настроить службу WCF для отправки электронных писем. System.Net.MailMessage, кажется, не сериализуем и не может быть передан в [DataContract]

Я получаю ошибку

Введите 'System.Net.Mail.MailAddress' не может быть сериализовано. Рассмотрим маркировку это с DataContractAttribute

Есть предложения?

1 Ответ

3 голосов
/ 15 января 2009

Все, что вы передаете службе WCF, должно быть сериализуемым в XML или двоичном формате.

«Классический» подход к обмену сообщениями:

  1. Создайте простой класс DataContract, который имеет все необходимые свойства MailMessage
  2. Перед вызовом службы установите все свойства для MailMessage в новом экземпляре вашего класса DataContract
  3. Позвоните в сервис, передав DataContract
  4. Внутри службы создайте новый экземпляр MailMessage и присвойте ему свойства, затем отправьте его
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...