Posso passare un System.Net.MailMessage a un servizio WCF?
-
22-07-2019 - |
Domanda
Vorrei configurare un servizio WCF per inviare e-mail. System.Net.MailMessage non sembra essere serializzabile e non può essere passato in un [DataContract[
L'errore che ricevo è
Digita "System.Net.Mail.MailAddress" non può essere serializzato. Prendi in considerazione la marcatura con DataContractAttribute
Qualche suggerimento?
Soluzione
Qualunque cosa passi a un servizio WCF deve essere serializzabile in formato binario o XML.
Un "classico" l'approccio alla messaggistica sarebbe:
- Crea una semplice classe DataContract che abbia tutte le proprietà richieste di MailMessage
- Prima di chiamare il servizio, impostare tutte le proprietà per MailMessage in una nuova istanza della classe DataContract
- Chiama il servizio, passando il DataContract
- All'interno del servizio, crea una nuova istanza di MailMessage e assegna le proprietà al suo interno, quindi invialo
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow