基本上我有一个托管在 Windows azure 上的 asp.net 站点,并且我也有一个托管在那里的虚拟机。我是否可以从我的网站将文件读/写到虚拟机上的磁盘?
如果有任何帮助,我正在使用 ASP.NET MVC 4。对于可能含糊的问题,抱歉,如果您需要更多信息,我会很乐意提供。
提前致谢!
基本上我有一个托管在 Windows azure 上的 asp.net 站点,并且我也有一个托管在那里的虚拟机。我是否可以从我的网站将文件读/写到虚拟机上的磁盘?
如果有任何帮助,我正在使用 ASP.NET MVC 4。对于可能含糊的问题,抱歉,如果您需要更多信息,我会很乐意提供。
提前致谢!
当然。由于您想访问虚拟机的驱动器,并且您可以完全控制虚拟机,因此这很容易。
服务器
使用 WebDAV 公开 VM 的驱动器。这是一个用于文件共享的 HTTP API。
这是 Windows 的 WebDAV 设置指南:http: //mythoughtsonit.com/2013/05/deploy-a-file-server-in-the-cloud-webdav-on-windows-azure/
客户
如果您使用的是 Windows Azure 网站(非常严格),您在 ASP.NET 站点上的唯一选择是添加 C#/VB 代码以从 WebDAV 共享中读取/写入。下面是一些 .NET WebDAV 客户端:
如果您使用的是 Windows Azure 云项目并具有 Web 角色(更灵活),则可以在该 Web 角色上创建一个启动任务,将 WebDAV 映射为网络驱动器并使用普通的 System.IO.File 代码。我认为这比 WebDAV 客户端的东西更容易,但这取决于你。
我得出了与@Yoshi 类似的结论。但是,当尝试通过启动任务将共享映射到托管 Web 角色的实例上的驱动器时,我发现这需要安装 WebDav 客户端。这是作为桌面体验功能的一部分安装的。迄今为止,我无法使用启动任务安装它,因为它需要重新启动。
我已经尝试编写一个包含本文步骤的启动任务,但到目前为止还不能让它工作。
有没有其他人管理过这个?