Wie kann ich die serialize-E-mail-Nachricht?
Bekomme ich folgende beim binden zu serialisieren hatte eine Nachricht über das los foratter.
Fehler: Sys.WebForms.PageRequestManagerServerErrorException: Fehler serialisieren Wert " System.Net.E-Mail.MailMessage' des Typs 'System.Net.E-Mail.MailMessage.'
Gibt es eine EINFACHE Möglichkeit dieses Objekt zu serialisieren oder werde ich haben, um searialize jedes o fhte-Eigenschaften einzeln?
Wo sind Sie versucht, es zu serialisieren?
Ich versuche es in ein byte-array.
Ich versuche es in ein byte-array.
InformationsquelleAutor Middletone | 2009-07-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider das System.Net.E-Mail.MailMessage-Klasse ist nicht als serialisierbar markiert. Also, ja, Sie müssen es selbst zu tun. Es gibt eine Technik beschrieben, die im folgenden blog-post, das kann Ihnen eine Idee geben, wie Sie Vorgehen könnten: Serialisieren eines MailMessage ... im Grunde, Sie müssen herausziehen jeder die Eigenschaften individuell. Zitat:
Link ist gebrochen.
Vielen Dank - fest.
Der Link ist immer noch kaputt.
Internet Wayback Machine, um die Rettung, link korrigiert.
InformationsquelleAutor Chris W. Rea
Für diejenigen, die den vollständigen source code auf serialisieren MailMessage in XML geschrieben von Keyvan Nayyeri, hier ist der link zu seinem github:
https://github.com/keyvan/Gopi/blob/master/Gopi/Gopi/SerializableMailMessage.cs
Und hier ist das Archiv, das von seinem blog, dass ist jetzt verstorben:
http://web.archive.org/web/20131124074822/http://keyvan.io/how-to-serialize-a-mailmessage
Nur für den Fall der link oben könnte sich auch tot, hier habe ich wieder post in seinem blog hier:
Serialisieren eines MailMessage -
Gibt es zwei Klassen MailMessage .NET. Zuerst ist man im System.Web.E-Mail-namespace und ist veraltet .NET 2.0 und höher, und die zweite ist in System.Net.E-Mail. Ich interessiere mich nicht über das veraltete, damit ich nur zeigen, wie Sie die Serialisierung von Instanzen von System.Net.E-Mail.MailMessage-Klasse.
Serialisieren, die die Eigenschaften der MailMessage-Objekt können Sie eine neue Klasse erstellen, und erstellen Sie eine Eigenschaft der MailMessage-Typ für ihn, bettet Ihre MailMessage in der Klasse. In dieser neuen Klasse können Sie die IXmlSerializable-Schnittstelle implementieren, um manuell serialisieren seine MailMessage.
Serialisierung
Serialisierung Seite der Arbeit ist so einfach wie die Umsetzung der WriteXml-Methode. Der code unten ist das, was ich geschrieben habe, dies zu tun.
Folgenden gleichen Ansatz kann man serialisieren andere Eigenschaften wie Anhänge. Nächste Woche werd ich der neuen version von Gopi, enthält der aktualisierte code, der serialisiert alles, damit Sie können, warten Sie kurz Ihre Hände auf den code.
Deserialisierung
Obigen code wird eine helper-Methode ein XmlNode-für verschiedene Bereiche.
Dieser code ist selbsterklärend und muss nicht jeden Kommentar, aber beachten Sie, dass Sie brauchen, um zu aktualisieren XPath-Ausdrücke für Ihre Klasse Namen. Natürlich, ich könnte reflektion verwenden, um diese code mehr Allgemeinen, aber manchmal bin ich ein schlechter Kerl!!
InformationsquelleAutor Rosdi Kasim
Ich weiß, das ist ein älterer Beitrag, aber ich hatte auch das Problem, wo ich brauchte, um zu serialisieren die Mailadresse Klasse so habe ich eine serializable-version. Wenn Sie in eine position zum verwenden eines benutzerdefinierten Mailadresse Klasse, anstatt das System.Net.E-Mail.Mailadresse Klasse, dieser kann für Sie arbeiten.
InformationsquelleAutor Steve Dignan