通过运行 mvc Web 应用程序的 IIS 访问映射驱动器 asp.net

本文关键字:映射 访问 驱动器 asp net IIS 运行 mvc Web 应用程序 | 更新日期: 2023-09-27 18:34:50

我已经在虚拟机(Windows Server 2012 R2(内的IIS 8服务器上部署了一个 asp.net mvc Web应用程序。Azure 文件存储在此虚拟机 Windows Server 2012 R2 中映射为网络驱动器。现在,我的 asp.net mvc Web 应用程序需要通过 C# System.IO 代码读取此映射驱动器的文件和文件夹。默认情况下,不允许 IIS 访问映射的驱动器。

这就是 Web 应用程序抛出异常 System.IO 原因

"找不到指定的路径 Z:''">

.我也试图通过"''''{storage-name}.file.core.windows.net''{fileshare-name}但仍然没有成功。

有人可以指导我进行正确的配置和设置,我应该在IIS和Web应用程序中执行这些配置和设置吗?

通过运行 mvc Web 应用程序的 IIS 访问映射驱动器 asp.net

最后,我成功地通过IIS服务器访问了映射的网络驱动器。我执行了以下步骤。

  • 在 VM 上创建新的用户帐户。
  • 此新帐户的用户名将是存储帐户名称
  • 此用户的密码将是以"=="结尾的存储帐户密钥
  • 创建此新用户帐户后,我将此用户的帐户类型更改为管理员
  • 转到">我的电脑">"这台电脑">
  • 在映射网络驱动器的帮助下连接网络驱动器..选项
  • 打开 IIS 管理器窗口,转到应用程序池
  • 选择您的 Web 应用程序正在使用的应用程序池(在我的例子中是 DefaultAppPool,然后单击右侧窗格中的高级设置...
  • 使用新创建的用户帐户名和密码更改此应用程序池的标识
  • "加载用户配置文件"设置为 true
  • 单击"确定"保存更改。
  • 单击右侧窗格中的"回收"链接以刷新选定的应用程序池。
  • 现在选择您的 Web 应用程序,该应用程序位于默认我们站点下。
  • 单击">基本设置..."以打开"编辑站点"对话框。
  • 确保应用程序池名称正确。
  • 单击">连接为...">按钮并选择"特定用户"单选按钮,然后使用此新创建的用户名(存储帐户名(和密码(存储帐户密钥(设置凭据。

就是这样。现在,您只需编写标准 C# IO 代码即可访问映射驱动器的目录和文件。下面是一个示例示例。

var allDirs = Directory.GetDirectories("''''<storageaccountname>.file.core.windows.net''<storagefileshare>");
ViewBag.Items = allDirs;

确保仅通过UNC路径格式访问文件和文件夹,就像我在上面的代码中所做的那样。