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

标签 c# asp.net vb.net azure

我正在尝试托管一些静态文件,以供在同一部署上运行的 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/

相关文章:

c# - 将字符串拆分为单词并重新加入其他数据

c# - 服务可以写入注册表 [HKLM]

c# - 授权属性不适用于角色

c# - 如何更改 C# 控制台应用程序的命令提示符

c# - 设计数据驱动的逻辑系统

vb.net - 从字符串 yyyyMMdd 到整数类型的转换无效

vb.net - 将 URL 编码字符替换为普通字符?

C# 按钮不重新定位自己

c# - 如何使用 mvc 4 web api 中的 HttpResponseMessage 对象设置 etag?

asp.net 网站手机支持