Posso passar um System.Net.MailMessage a um serviço WCF?
-
22-07-2019 - |
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?
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:
- Crie uma classe DataContract simples que tem todas as propriedades necessárias de MailMessage
- Antes de chamar o serviço, definir todas as propriedades para o MailMessage em uma nova instância de sua classe DataContract
- Ligue para o serviço, passando o DataContract
- 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