【发布时间】:2022-01-11 17:48:32
【问题描述】:
我似乎无法通过在 IIS 中运行的 API 访问我挂载的 azure 文件共享。
我的 API 启动另一个 C# 控制台应用程序,但由于它是作为用户启动的,它不会访问我的 Z: 驱动器中的文件(安装的 azure 文件共享)。
互联网上的人们似乎可以选择创建一个与我的存储帐户同名、密码作为访问密钥的本地用户。但似乎创建该用户有字符限制。
无论如何我可以通过访问我安装的 Z: 驱动器来启动这个 C# 控制台应用程序吗?来自我在 IIS 中运行的 C# API。无需重命名我的存储帐户等。通过授予 iis 更多访问权限或以更多访问权限启动控制台应用程序。
希望有更聪明的方法。
【问题讨论】:
-
既然你用 C# 编码,是不是直接使用存储 API,没有文件共享开销更好?
-
@SteveB 虽然我认为该选项不够多,但我是否有相同的可能性来获取文件列表和复制文件文件夹。那么这样的性能会更好/相同吗?我首先安装的原因是直接处理那里的文件。但与先复制它们相比,这速度太慢了。
-
我不知道 azure 文件共享是如何工作的,但我知道它是 smb 共享下的包装器。使用 blob 存储,我相信您将受益于性能。但这意味着您要实现的目标是可寻址的(下载二进制文件,编写它,重新上传二进制文件)。可以加载到内存中的小文件很容易,对于大文件来说有点复杂。
-
您可以使用 System.Diagnostics.Process 作为有权访问该已安装驱动器的用户启动控制台应用程序,请参阅此处的example。
-
为什么不使用rest api 访问 azure 文件共享?