Pergunta

Eu gostaria de configurar um serviço WCF para enviar e-mails. faz o System.Net.MailMessage não parece ser serializado, e não pode ser passado em um [DataContract]

O erro que recebo é

Type 'System.Net.Mail.MailAddress' não pode ser serializado. considere marcação -lo com o DataContractAttribute

Todas as sugestões?

Foi útil?

Solução

O que quer que você passa para um serviço WCF precisa ser XML ou serializado binário.

Uma abordagem "clássico" de mensagens seria:

  1. Crie uma classe DataContract simples que tem todas as propriedades necessárias de MailMessage
  2. Antes de chamar o serviço, definir todas as propriedades para o MailMessage em uma nova instância de sua classe DataContract
  3. Ligue para o serviço, passando o DataContract
  4. Dentro do serviço, criar uma nova instância de MailMessage e atribuir as propriedades dentro dele, então enviá-lo
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top