3

メールを送信するためのWCFサービスを設定したいのですが。System.Net.MailMessageはシリアル化できないようであり、[DataContract]

私が受け取るエラーは

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

助言がありますか?

4

1 に答える 1

3

WCFサービスに渡すものはすべて、XMLまたはバイナリシリアル化可能である必要があります。

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

  1. MailMessageに必要なすべてのプロパティを持つ単純なDataContractクラスを作成します
  2. サービスを呼び出す前に、DataContractクラスの新しいインスタンスでMailMessageのすべてのプロパティを設定します
  3. DataContractを渡して、サービスを呼び出します
  4. サービス内で、MailMessageの新しいインスタンスを作成し、それにプロパティを割り当ててから送信します
于 2009-01-15T15:09:52.260 に答える