3


0

System.Net.MailMessageをWCFサービスに渡すことはできますか?

Eメールを送信するようにWCFサービスを設定したいのですが。 System.Net.MailMessageはシリアライズ可能には見えず、 `[DataContract]`に渡すことはできません

私が受け取るエラーは

_ タイプ 'System.Net.Mail.MailAddress’はシリアル化できません。 DataContractAttributeでマークすることを検討してください _

助言がありますか?

1 Answer


3


あなたがWCFサービスに渡すものは何でもXMLかバイナリシリアライズ可能である必要があります。

「古典的な」メッセージングアプローチは次のようになります。

  1. MailMessageのすべての必須プロパティを持つ単純なDataContractクラスを作成します。

  2. サービスを呼び出す前に、DataContractクラスの新しいインスタンスにMailMessageのすべてのプロパティを設定します。

  3. DataContractを渡してサービスを呼び出す

  4. サービス内で、MailMessageの新しいインスタンスを作成し、それにプロパティを割り当ててから送信します。