gpt4 book ai didi

asp.net-mvc - 在 Azure 托管网站中保存文件

转载 作者:行者123 更新时间:2023-12-03 05:07:26 25 4
gpt4 key购买 nike

我们目前在 IIS 服务器中托管 MVC Web 应用程序。我们可以选择让最终用户上传图像/pdf 文件。为了存储它们,我们可以使用类似这样的代码..

if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/Images"), fileName);
file.SaveAs(path);
}

现在我们计划将其托管在 Azure 上。如果我们托管在 Azure 中,上述文件存储机制是否有效?或者我们需要更改文件存储机制(由于Azure文件系统不同)。

最佳答案

如何部署到 Azure 取决于您,并且有多种方法可以实现(我不会建议任何特定的方法)。但客观地说:

虚拟机

  • 虚拟机操作系统磁盘耐用,存储在页 blob 中。但是,此存储不在虚拟机之间共享。
  • 虚拟机暂存盘(无论是常规磁盘还是 SSD)不耐用。假设数据将会丢失。
  • 您可以将耐用磁盘附加到虚拟机(每个磁盘最多 1TB,每个核心最多两个磁盘)。就像操作系统磁盘一样,它们也是由 blob 支持的。但同样,不在虚拟机实例之间共享

云服务

  • Web 和辅助角色实例使用非耐用操作系统磁盘。
  • 您可以将磁盘附加到 Web/辅助角色(Azure 驱动器)。它们很耐用并且有 Blob 支持。不在实例之间共享。

网络应用

  • 网络应用提供持久存储(数量基于应用层)。此存储与该 Web 应用程序的所有实例共享。但是,如果您删除网络应用程序,此存储空间就会消失。

Azure 存储

  • 您可以选择从离散的 blob 中读取/写入(每个 blob 最多 200GB)。它们独立于任何虚拟机/云服务/Web 应用程序。这些可以通过 REST API 访问(并用多种语言的 SDK 封装)。 Blob 不会映射到本地文件目录(页面 Blob 除外,它作为 VHD 挂载,如上面虚拟机中所述)。 Azure 存储为每个帐户提供高达 500TB 的存储空间,并且您可以拥有多个存储帐户。
  • Azure 文件存储是由 Azure 存储 (blob) 支持的 SMB 共享。这是持久存储。您可以将其安装到虚拟机(与 Azure 磁盘不同,您可以将其同时安装到多个虚拟机)。 Azure 文件存储为每个文件共享提供高达 5TB 的容量。
  • 对于以性能为导向的工作负载,您可以选择高级存储 (SSD)。高级存储磁盘仅与特定虚拟机类型兼容,并提供 128GB、512GB 和 1TB 容量。

关于asp.net-mvc - 在 Azure 托管网站中保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38736667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com