我正在尝试托管一些静态文件,以供在同一部署上运行的 ASP.Net Web 角色和单独的数据工作角色访问(它们使用全局静态接口(interface))。
但是,我不确定如何准确地“托管”它们,我尝试通过 HttpRuntime.AppDomainAppPath
使用虚拟文件夹,但它仅偶尔在调试中工作模式。这些文件似乎也没有打包到 VS 和 CSPack 制作的部署包中(尽管这可能是一个单独的问题,但也可以解决这个问题吗?)
有问题的静态文件实际上是 WordNet,我通过 WordNet.Net 使用它,如果这有什么区别的话。我还需要能够在云部署和模拟器中工作的解决方案(如果可能)。
最佳答案
如果文件只是只读的,您可以将它们放置在 Azure 驱动器中,该驱动器本质上是存储在 Page Blob 中的 NTFS 格式的 vhd(有关详细信息,请参阅 here)。您的每个角色实例都可以安装该驱动器的只读快照(并且一个实例一次可以获得写入访问权限)。
无法在本地磁盘上存储文件,因为这些文件不会跨实例复制;每个实例都有自己的附加存储。
一种常见模式是将内容存储在 Blob 中(可能是 ZIP 文件),然后在实例启动时将这些文件从 Blob 存储复制到本地磁盘。例如,您可以获取 Nate Totten 的 Azure Accelerator for Web Roles 。您将看到 ZIP 文件复制技术的实际应用,因为它会提取整个网站并将其解压缩到虚拟目录中。
关于c# - 存储要在 Azure 角色之间共享的静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7400626/