Вопрос: Есть ли способ сериализации объекта .Net MailMessage


Я пытаюсь написать proc, который примет в качестве параметра объект MailMessage и разделить его на части, чтобы сохранить объект, тело, адреса, адреса и вложения (жесткую часть) в базе данных, чтобы почта могла будет отправлено в какой-то момент в будущем.

Мое первое взятие на этом заключалось в том, чтобы вырвать нужные мне детали и сохранить их в базе данных, и это отлично работает, за исключением вложений. Я не могу понять, как пройти через коллекцию, а затем на самом деле что-то делать с ними.

Это простой способ сериализации объекта MailMessage, который фактически будет использовать содержимое вложений с ним?

Я делаю все это неправильно? Кто-нибудь делал это раньше?


4


источник


Ответы:


На самом деле это не очень хороший способ. Итак, я продолжил свой первоначальный метод циклирования через объект MailMessage и получения всей информации, о которой я заботился. Для приложений, которые были самой сложной частью, каждое приложение имеет ContentStream, и я просто прочитал этот поток и записал его на диск, сохранил имя файла, а затем я могу его воссоздать, когда хочу его отправить.

Я не полностью тестировал этот метод, поэтому я пока не рекомендую его кому-либо еще, но он кажется лучшим решением в нашем конкретном случае.


1



Если бы мне пришлось угадать, какую стратегию я бы использовал, это было бы для каждого вложения превратить это в массив байтов, а затем поместить эти байтовые массивы и детали сообщения в XML-документ, а затем передать этот XML-документ в базу данных в качестве параметра.


0