2012-04-10 85 views
0

我有asp.net项目。我想在天青的平台上发布它。我的项目包含不同的静态内容:图像,JavaScript,CSS,HTML页面等。我想将这些内容存储在azure blob存储中。所以,我的问题是: 1)有什么办法可以将这个内容从我的应用程序迁移到blob存储的过程自动化吗? 2)如何使用blob存储中的数据?任何例子都会很棒!将ASP.NET项目的静态内容迁移到Windows Azure平台

最好的问候, 亚历山大

回答

1

首先,你正在试图做的可以创建跨站点脚本是什么(他们会在不同的域名)或安全问题(如果你使用SSL) 。所以请确保你真的想分离你的网站的其他部分的静态文件。

也就是说,最简单的方法是使用大量Windows Azure存储管理实用程序(Storage Explorer或Cerebrata的Storage Studio都可以)中的任何一个来将静态内容上载到Windows Azure存储空间容器。然后将该容器的权限设置为publis read,以便任何具有Web浏览器的人都可以访问该容器的内容。

最后,更改指向内容的所有引用以指向blob存储中的新URI并部署您的ASP.NET Web角色。

虽然如此,如果我是你,我真的会看着你想用这种方法完成的事情。通过将它放置在blob存储中,您可以访问一些东西(如CDN启用),但作为一种折衷,您会失去对其他许多控制的控制权(例如通过IIS的简化访问控制以获取请求日志以告知何时下载您的图像文件需要万亿次才能试用并运行帐单)。所以除非有这样的需求,否则我一般会推荐它。

+0

感谢您的回复!由于简单更新,我需要在Blob中存储静态内容。例如,我需要以aspx形式更新图片。更新完整的网站insl我会发现这个图片blob,只是替代它。 – 2012-04-10 12:43:13

+0

有什么不错的地方在于,通过'$ logs',Storage Analytics将为您提供Blob访问的可追溯性。您可以阅读有关分析的更多信息[此处](http://blogs.msdn.com/b/windowsazure/archive/2011/08/03/announcing-windows-azure-storage-analytics.aspx) – 2012-04-10 12:43:30

1

向@ Brent的答案添加一点:将静态内容卸载到blob存储时会带来更多好处,例如减少对Web角色实例的负载。

我写了关于this similar StackOverflow question更详细的答案。

+0

您能否告诉我在blob和CDN中存储内容是一样的吗? – 2012-04-10 13:12:00

+0

从您的角度来看,存储的实际步骤和位置是相同的。您只需为存储静态内容的存储帐户激活CDN,然后将URL更改为指向URL的“CDN”版本(基于您创建的CDN名称空间)。此时,您的内容将根据需要加载到一个或多个CDN节点中,然后从那里提供服务。注意:您无法强制对象到期。如果您将JPG的TTL设置为24小时,然后在5小时后上传新的JPG,则最终用户将不会再看到19小时的更新。 – 2012-04-10 15:09:46

0

根据您对布伦特的评论,您可能需要考虑将内容上传到Blob存储,然后通过WebRole代理它。你可以使用类似HttpModule的东西来完成相当无缝的工作。

这有两个主要优点:

  1. 您可以添加/修改文件,而无需重新加载您的Web角色或失去他们的角色刷新。
  2. 如果您正在迁移网站,则这些文件可以保留与迁移前相同的网址。

缺点:

  1. 你付出的金钱成本的斑点访问和性能开销到你的Web角色。
  2. 您无法使用Azure CDN。
  3. Blob存储通常比磁盘访问速度更慢(延迟更高)。

我有一个相当简单的模块,我写这个来做这件事。我还没有到处公开发布它,但如果你要这样做,我可以向你发送代码或其他东西。

+0

通过在每个实例内的localstorage中缓存静态内容,您可以采取更进一步的措施。这可以减少针对频繁访问的文件的Azure存储的连续命中以及延迟。如果你把这个缓存放到web应用程序根目录下的一个可写入(应用程序)区域,你甚至可以避免使用HttpModule。 :) – BrentDaCodeMonkey 2012-04-10 21:58:16

+0

你可以,但如果斑点正在更新,那么你也必须处理缓存一致性问题。我抛出了它,而不是简单的方法。 :) 但是,如果你想变得非常聪明,你可以运行一个后台进程/线程来每隔一段时间对所有本地存储文件进行条件更新。 – 2012-04-11 01:00:55

+0

是的,您能否通过我的电子邮件将您的模块寄给我[email protected] – 2012-04-11 08:15:42