存储要在Azure角色之间共享的静态文件

本文关键字:共享 静态 文件 之间 角色 Azure 存储 | 更新日期: 2023-09-27 18:08:21

我正在尝试托管一些静态文件供ASP访问。. Net web角色和一个独立的数据工作者角色,它们都运行在同一个部署上(它们使用全局静态接口)。

然而,我不确定如何确切地"托管"它们,我尝试过通过HttpRuntime.AppDomainAppPath使用虚拟文件夹,但它只有偶尔在调试模式下工作。这些文件似乎也没有被打包到VS vis CSPack的部署包中(虽然这可能是一个单独的问题,是否有可能修复这个问题?)

所讨论的静态文件实际上是我通过WordNet使用的WordNet。如果有什么不同的话。我还需要在云部署和模拟器(如果可能)中工作的解决方案。

存储要在Azure角色之间共享的静态文件

如果文件只是只读的,您可以将它们放在Azure驱动器中,Azure驱动器本质上是存储在Page Blob中的ntfs格式的vhd(请参阅此处了解更多信息)。每个角色实例都可以挂载该驱动器的只读快照(并且一个实例一次可以获得写访问权限)。

将文件存储在本地磁盘上将不起作用,因为这些文件不会跨实例复制;每个实例都有自己的附加存储

一种常见的模式是将内容存储在Blob中,可能是在ZIP文件中,然后在实例启动时将这些文件从Blob Storage复制到本地磁盘。举个例子,你可以抓住Nate Totten的Azure Web角色加速器。您将看到ZIP文件复制技术的作用,因为它提取整个网站并将其解压缩到虚拟目录中。

如果您没有将" Copy to output directory "属性设置为" Copy if newer "/" Copy always ",则文件可能不会被打包。