2

我有一个电子邮件 Azure Worker 角色(你猜对了),只需发送一封电子邮件。

它在具有 To、From 和 Body 的队列中工作。所以实际的队列消息有电子邮件本身。

但是我遇到了一个问题,电子邮件的大小超过了 64KB,因此无法将其放入队列中。

所以现在我想我需要将电子邮件存储在 Azure Blob 上,然后将对该 Blob 的引用存储在消息上。然后工作人员可以从 blob 中获取电子邮件。

但似乎 Blob 存储更多地用于图像、文件等 - 这只是我创建的内存中的 POCO。

我怎样才能将 POCO 放在 Azure Blob 上 - 或者有没有人有任何其他想法来完成这项任务?

4

2 回答 2

4

解决了我的问题。

  1. 将对象序列化为字符串。(使用 JSON.NET)
  2. 从字符串字节创建 MemoryStream,在 Azure Blob 上弹出
  3. 使用对 Blob GUID 的引用创建队列消息
  4. Worker Role 获取消息,从 Blob 中获取流,转换回 C# POCO,发送电子邮件。
于 2013-07-12T01:25:01.117 回答
-1

您可以序列化您的对象,以便将其存储在 Windows Azure 队列中。这篇文章展示了如何做到这一点。 在 Azure 队列存储中传递对象消息

于 2013-07-11T23:05:45.073 回答