我打算编写一个应用程序,将多个PDF作为附件发送到用户的电子邮件中。
我应该使用内存(MemoryStream)还是有可以使用的临时目录?哪个更可取?谢谢!
BTW我正在使用C#ASP.NET
答案 0 :(得分:3)
我会使用文件系统存储,因为内存是一种更稀缺的资源。 Windows Azure为此提供了本地存储资源,这些资源是您在服务定义中配置的磁盘区域,然后在运行时通过Azure SDK进行访问。它们不是永久存储,并且在角色回收时会被清理,因此它们非常适合临时操作,例如您描述的操作。虽然您仍应尝试在每次操作后清理文件,以确保不填满空间。
有关本地存储资源的完整信息,请访问:http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx
此处详细说明了每个实例大小上可用于本地存储资源的磁盘空间量的表:http://msdn.microsoft.com/en-us/library/windowsazure/ee814754.aspx
答案 1 :(得分:0)
您可以使用其他模式。将PDF放在blob存储中,并放置一个带有电子邮件地址&的队列消息。要发送的PDF列表。有一个单独的工人角色构建&发送电子邮件。你可以使用X-Small或Small。由于这也允许异步通信,您可以只使用1个实例。如果无法跟上,请通过配置文件启动第二个(即不重新部署)。这也为您的解决方案提供了更多的聚合带宽。
如果流量不是很大,你可以启动一个单独的线程(或进程)做同样的事情。
专利