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?

È stato utile?

Soluzione

Qualunque cosa passi a un servizio WCF deve essere serializzabile in formato binario o XML.

Un "classico" l'approccio alla messaggistica sarebbe:

  1. Crea una semplice classe DataContract che abbia tutte le proprietà richieste di MailMessage
  2. Prima di chiamare il servizio, impostare tutte le proprietà per MailMessage in una nuova istanza della classe DataContract
  3. Chiama il servizio, passando il DataContract
  4. 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
scroll top