Web角色的本地存储URI(Web Role local storage URI)

2019-09-26 15:43发布

我有一个本地存储的文件夹,名为TempStore ,建立在我的Web角色实例。

是否有可能从我的本地存储文件暴露的URI?

例如:

http://myapplication.cloudapp.net/TempStore/helloworld.jpg

我明白,我可以用斑点这一点,但我宁愿在这种情况下使用本地存储。

Answer 1:

有。 不过我真不明白这样做的原因是什么? 我看到的唯一原因,是一些误解或不完全了解Windows Azure平台服务(存储,云服务/网络角色)的能力。

你要知道,本地存储是不是角色实例之间的同步。 此外,如果硬件故障发生时,一个role healing过程将实例化一个全新的虚拟机从您的云服务包清新的形象。 这将导致一个空空如也的本地存储资源。 Windows Azure的负载均衡(即坐在你的web和辅助角色的面前,更多的东西在这里 )使用轮询算法。 也就是说即使以一个请求用户上传文件到你的Web角色。 下一个请求(即你可能会想显示预览)可能会去一个没有上载的想法的用户的另一个实例。

如果知道所有这些事实后,仍想“搬起石头砸自己的脚”这里是解决方案:

  • 实施的VirtualPathProvider
  • 注册它所需的公共URL路径
  • 使用RoleEnvironment.GetLocalResource方法在你的VPP获得对本地存储资源的完整路径
  • 不要怪别人,当你意识到这是一个错误;)


文章来源: Web Role local storage URI