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

C# 使用ASP.NET和Azure创建云存储应用程序,c#,asp.net,asp.net-mvc,azure,C#,Asp.net,Asp.net Mvc,Azure,我需要使用ASP.NET MVC,C#创建一个云存储应用程序,并将其与Azure存储集成 我目前有一个功能界面,允许用户注册并安全地将其详细信息存储在SQL数据库中。我还有一个使用Azure Blob存储的基本文件上传程序,它是作为指南创建的 我的问题是如何为用户提供他们自己的容器/页面,以便他们只能访问他们的文件。目前,文件上传器和Azure容器是共享的,因此任何拥有帐户的人都可以查看和编辑上传。我想限制这一点,这样每个用户都有自己的空间,其他人无法读取或修改 我一直在寻找答案,但找不到任何适

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

我目前有一个功能界面,允许用户注册并安全地将其详细信息存储在SQL数据库中。我还有一个使用Azure Blob存储的基本文件上传程序,它是作为指南创建的

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


我一直在寻找答案,但找不到任何适合我需要的。任何建议都将不胜感激。

将文档名称存储在与用户帐户链接的单独SQL数据库中。然后只向用户显示那些文件名与它们链接的文件,您应该马上就可以了!我以前使用过这种架构,它的工作方式很有魅力。但是,在实现此模型之前,应该为每个文件名附加Guid或其他唯一标识符

我的问题是如何为用户提供自己的容器/页面,以便 他们的文件只能由他们访问

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

您需要考虑以下几点:

  • 您不能对容器的大小设置任何硬限制。因此,一个容器可以和您的存储帐户大小一样大。如果您想对用户可以上载的数据量设置一些限制,则需要在应用程序的存储之外管理这些数据。如果需要的话,您可能还想查看Azure文件服务。在Azure文件服务中,您可以限制共享的大小(相当于blob容器)
  • 您甚至可能希望跨多个存储帐户对用户进行负载平衡,以实现更好的吞吐量。如果您决定采用此方法,那么还需要将存储帐户名与用户信息一起存储在容器名称中

感谢您的意见。这听起来是个完美的计划。你知道有什么教程可以指导我完成这个过程吗?我对ASP.NET非常了解,并且我仍然掌握了一些窍门。请参阅有关blob存储入门的指南:。这就是它现在的工作原理。非常感谢你的帮助!