Puis-je passer un System.Net.MailMessage à un service WCF?
-
22-07-2019 - |
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?
La solution
Tout ce que vous transmettez à un service WCF doit être XML ou sérialisable binaire.
Un "classique" approche de messagerie serait:
- Créez une classe DataContract simple contenant toutes les propriétés requises de MailMessage
- Avant d'appeler le service, définissez toutes les propriétés de MailMessage dans une nouvelle instance de votre classe DataContract
- Appelez le service en passant le DataContract
- 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