使用System.File.IO和Azure文件共享是否可行?

3
我们可以在各处找到如何使用rest api与azure文件共享,但我有一个使用System.File.IO访问文件共享的旧版.net应用程序。 我该如何使用System.File.IO访问文件共享? 这些Azure文件共享是为支持遗留应用程序而创建的,但如果我必须重写所有文件访问代码,那么这就没有意义了。
2个回答

3
如何使用System.File.IO访问文件共享?
您可以挂载Azure文件共享。在挂载Azure文件共享后,您可以通过Windows中的映射驱动器使用System.File.IO访问共享。 挂载Azure文件共享并在Windows中访问共享 否则,您只能使用REST API或任何客户端SDK来访问文件共享。如果您使用.NET Framework,可以下载并使用Azure Storage .NET SDK。 .NET开发Azure文件存储

文件共享只为当前用户挂载,对吗? - remi bourgarel
那么,我该如何在运行于IIS的应用程序中执行它? - remi bourgarel
如果您需要使用.NET文件API,请按以下线程中提到的方式进行操作。https://dev59.com/XVsW5IYBdhLWcg3wFj5p#35466157 我已经测试过并在我的端上运行良好。请确保只通过UNC路径格式访问文件和文件夹,就像原始发布者在线程中所做的那样。 - Amor
看到你的回答了,但是你的解决方案只适用于一个账户。我只有一个账户,但对于其他人来说可能会有问题。感谢你的帮助。 - remi bourgarel

3
我得到了以下解决方案,我在应用程序启动时运行它:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new
System.Diagnostics.ProcessStartInfo
            {
                FileName = "cmd.exe",
                Arguments =
                        string.Format("net use * {0}  /u:{1}", ConfigurationManager.ApplicationSettings("StaticServerRoot"), ConfigurationManager.ApplicationSettings("StaticServerRootCredentials"))
            };
process.StartInfo = startInfo;
process.Start();
process.Kill();

StaticServerRootCredentials看起来像这样“AZURE\{account} {key}”

我可以使用cmdkey


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接