我正在尝试编写一个 proc,它将 MailMessage 对象作为参数,并将其拆分以将主题、正文、地址、地址和附件(困难部分)存储在数据库中,以便电子邮件可以在将来的某个时间发送。
我对此的第一个看法是撕掉我需要的部分并将它们存储在数据库中,除了附件之外,它的效果很好。我不知道如何遍历集合,然后实际对它们做任何事情。
是否有一种简单的方法可以序列化一个 MailMessage 对象,该对象实际上会携带附件的内容?
我做这一切都错了吗?有没有人这样做过?
我正在尝试编写一个 proc,它将 MailMessage 对象作为参数,并将其拆分以将主题、正文、地址、地址和附件(困难部分)存储在数据库中,以便电子邮件可以在将来的某个时间发送。
我对此的第一个看法是撕掉我需要的部分并将它们存储在数据库中,除了附件之外,它的效果很好。我不知道如何遍历集合,然后实际对它们做任何事情。
是否有一种简单的方法可以序列化一个 MailMessage 对象,该对象实际上会携带附件的内容?
我做这一切都错了吗?有没有人这样做过?
确实没有什么好的方法可以做到这一点。因此,我继续使用循环 MailMessage 对象并获取我关心的所有信息的原始方法。对于附件,这是最难的部分,每个附件都有一个 ContentStream,我只需读取该流并将其写入磁盘,存储文件名,然后我可以在实际发送时重新创建它。
我还没有完全测试过这种方法,所以我不推荐给其他人,但它似乎是我们特定情况下的最佳解决方案。
如果我不得不猜测我将使用的策略是将每个附件转换为字节数组,然后将这些字节数组和消息详细信息放入 xml 文档,然后将该 xml 文档作为参数传递给数据库。