Есть ли способ сериализации .Net MailMessage объекта - PullRequest
4 голосов
/ 21 апреля 2010

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

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

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

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

Ответы [ 2 ]

1 голос
/ 22 апреля 2010

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

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

0 голосов
/ 21 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...