Question

J'aimerais installer un service WCF pour envoyer des courriels. System.Net.MailMessage ne semble pas être sérialisable et ne peut pas être passé dans un [DataContract]

L'erreur que je reçois est

  

Tapez 'System.Net.Mail.MailAddress'   ne peut pas être sérialisé. Envisager de marquer   avec le DataContractAttribute

Des suggestions?

Était-ce utile?

La solution

Tout ce que vous transmettez à un service WCF doit être XML ou sérialisable binaire.

Un "classique" approche de messagerie serait:

  1. Créez une classe DataContract simple contenant toutes les propriétés requises de MailMessage
  2. Avant d'appeler le service, définissez toutes les propriétés de MailMessage dans une nouvelle instance de votre classe DataContract
  3. Appelez le service en passant le DataContract
  4. Dans le service, créez une nouvelle instance de MailMessage et assignez-lui les propriétés, puis envoyez-la
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top