【发布时间】:2016-05-20 14:15:00
【问题描述】:
我有一个创建共享的 Azure 文件存储帐户。我有 2 个 Azure VM,一个运行 SQL 服务器,一个运行 IIS 和一个 Windows 服务(用 c# .net 4.5.1 编写)。我需要他们都访问共享以共享文件。我已经阅读了几篇文章,并尝试使用 cmdkey 保存凭据并使用网络使用映射驱动器。我遇到了 2 个问题。
在 SQL VM 上,一切似乎都运行良好。它正在将文件写入共享,我在那里没有遇到太多麻烦。在另一个虚拟机上,我遇到了问题。首先,persist 位似乎并没有真正起作用。我运行它,验证它是否已存储(在执行 cmdkey /list 时显示,并在凭据管理器中显示),然后我可以使用 net use 映射驱动器。它似乎可以工作。我可以在资源管理器中浏览到驱动器,但是如果我注销机器,当我重新登录时它不会重新连接。一旦我注销 VM,连接似乎就会丢失,直到我再次运行 net use。其次,即使我可以浏览到该文件夹,Windows 服务也根本找不到它。我已经验证了它正在寻找的路径是正确的。我将它复制并粘贴到资源管理器窗口中,它直接进入文件夹。我尝试将服务作为本地系统运行,因为我使用登录 VM 的帐户... 所有这些都给出了找不到路径的错误。据我所知,我唯一需要的两件事是 cmdkey 命令和 net use 命令,并且驱动器应该可以使用并自动重新连接。我错过了什么吗?
编辑:我忘了提一下,如果我在同一台机器上将服务作为控制台应用程序运行,它确实会找到文件夹并正常运行。作为服务运行,它没有。它被配置为能够使用http://www.dontpaniclabs.com/blog/post/2011/10/20/running-a-service-as-an-application/中找到的方法以任一方式运行
【问题讨论】:
标签: c# file azure virtual-machine storage