Могу ли я передать System.Net.MailMessage службе WCF?

StackOverflow https://stackoverflow.com/questions/447071

  •  22-07-2019
  •  | 
  •  

Вопрос

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

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

  

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

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

Это было полезно?

Решение

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

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

<Ол>
  • Создайте простой класс DataContract, который имеет все необходимые свойства MailMessage
  • Перед вызовом службы установите все свойства для MailMessage в новом экземпляре вашего класса DataContract
  • Позвоните в службу, передав DataContract
  • Внутри службы создайте новый экземпляр MailMessage и присвойте ему свойства, затем отправьте его
  • Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top