4

我正在将 MVC 3.0 Web 应用程序部署到 Windows Azure。我有一个操作方法,它获取用户上传的文件并将其存储在我的网络应用程序中的文件夹中。

我怎样才能将该文件夹的 RW 权限授予正在运行的进程?我阅读了有关启动任务的内容并有基本的了解,但我不知道,

  1. 如何授予权限本身,以及
  2. 我应该向哪个运行进程(用户)授予权限。

非常感谢您的帮助。

编辑

除了下面@David 的回答,我发现这个链接非常有用:

https://www.windowsazure.com/en-us/develop/net/how-to-guides/blob-storage/

4

1 回答 1

6

对于本地存储,我不会忙于授予对各种目录的访问权限。相反,请利用专为正在运行的 VM 提供的存储资源。在给定实例大小的情况下,您可以使用从 20GB 到近 2TB 的本地存储(此处提供完整的大小详细信息)。要利用此空间,您将在项目中创建本地存储资源: 在此处输入图像描述

然后,在代码中,获取该存储的驱动器号:

var storageRoot = RoleEnvironment.GetLocalResource("moreStorage").RootPath;

现在您可以自由使用该存储空间了。而且...这些都不需要任何启动任务或授予权限。

现在需要注意的是:这是每个运行实例的本地存储,并且不在实例之间共享。此外,它是不耐用的——如果磁盘崩溃,数据就会消失。

对于持久的、持久的文件存储,Blob 存储是一个更好的选择,因为它是持久的(在数据中心内进行三重复制,并在异地复制到另一个数据中心)并且它位于您的角色实例外部,可以从任何实例(或任何应用程序)访问,包括您的本地应用程序)。

由于 blob 存储是按容器组织的,并且容器中的 blob 是由容器组织的,因此组织 blob 非常简单(并且在给定的 blob 中存储几乎任何东西,每个最多 200GB)。此外,将文件上传/下载到 blob 或从 blob 上传/下载到文件流或本地文件(在您分配的存储资源中,如上图所示)也很简单。

于 2012-05-28T02:48:02.650 回答