c# - 使用 ASP.NET 和 Azure 创建云存储应用程序

标签 c# asp.net asp.net-mvc azure

我需要使用 ASP.NET MVC、C# 创建云存储应用程序并将其与 Azure 存储集成。

我目前有一个功能界面,允许用户注册并将其详细信息安全地存储在 SQL 数据库中。我还有一个使用 Azure Blob 存储的基本文件 uploader ,该存储是使用 this tutorial 创建的。作为指导方针。

我的问题是如何为用户提供自己的容器/页面,以便他们的文件只能由他们访问。目前,文件 uploader 和 Azure 容器是共享的,因此拥有帐户的任何人都可以查看和编辑上传的内容。我想限制这一点,以便每个用户都有自己的个人空间,其他人无法读取或修改。

我已经寻找答案,但找不到任何适合我需要的东西。任何建议将不胜感激。

最佳答案

My question regards how to give users their own container/page so that their files are only accessible by them.

实现此目的的一种方法是将容器分配给用户。当用户注册时,作为注册过程的一部分,您为用户创建一个 blob 容器,并存储容器的名称以及有关用户的其他详细信息。当用户登录时,您将获取此信息并仅显示该容器中的文件。同样,当用户上传文件时,您仅将文件保存在该容器中。

您需要考虑的一些事项:

  • 您无法对容器的大小设置任何硬性限制。因此,容器可以与存储帐户的大小一样大。如果您想对用户可以上传的数据量进行一些限制,则需要在应用程序的存储之外进行管理。如果有要求,您可能还想研究 Azure 文件服务。在 Azure 文件服务中,您可以限制共享(相当于 Blob 容器)的大小。
  • 您甚至可能希望在多个存储帐户之间对用户进行负载平衡,以实现更好的吞吐量。如果您决定沿着这条路线走下去,那么连同容器名称一起,您还需要存储存储帐户名称和用户信息。

关于c# - 使用 ASP.NET 和 Azure 创建云存储应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248344/

相关文章:

c# - C# 中 Concurrency::combinable<T> 的模拟?

c# - 使用 Type 对象将 Object 类型的对象转换为另一种类型

javascript - css 为 null 或不是对象

asp.net-mvc - 为什么基于 Action 的 Web 框架占主导地位?

c# - 具有多线程服务的数据库连接池

asp.net - 缓存通过 VirtualPathProvider 返回的静态资源

c# - 遍历根目录并获取其中的所有文件?

asp.net-mvc - ASP.NET MVC ContentPlaceHolder 覆盖硬编码内容

asp.net-mvc - Entity Framework + MVC 4 + Knockout.js AddView 模板?

c# - WCF 身份检查失败