asp.net - 从 Azure 网站访问文件共享

标签 asp.net azure azure-web-app-service file-sharing

我们的 Web 应用程序由三个主要部分组成:

  1. 运行 ASP.NET 4.5 网站的 Web 服务器;
  2. 托管 SQL Server 2012 的数据库服务器;
  3. 另一台服务器托管后台使用的一些旧版应用程序;

各部分之间的关​​系如下:

  • Web 应用程序运行时将应用程序池标识设置为名为 Foo 的本地用户,并使用 Entity Framework 使用数据库;

  • 旧版应用程序使用数据库并定期将文件系统中的数据更改导出为 XML 文件,文件夹使用 Windows 共享给本地用户 Foo(本地用户与 Web 服务器上的密码相同)文件共享功能;

  • Web 应用程序监视文件共享中的新数据并导入所有更改(如果有);

现在我们想将此应用程序迁移到 Azure。不幸的是,我们必须对 SQL Server 使用 VM,因为我们的旧应用程序数据库使用文件流功能,而该功能在 Azure SQL 上不可用。此外,我们还需要另一个用于遗留应用程序的虚拟机。

目前我得到了以下结果:

  1. 在 Azure 上创建了一个新的虚拟网络;

  2. 创建了一个新的 Azure 网站并使用点到站点 VPN 连接将其连接到 VNET;

  3. 为 SQL Server 和旧版应用程序创建 2 个虚拟机,并将它们连接到 VNET,将网络标记为专用网络,禁用防火墙;

一切正常,除了一件事 - 网站无法访问位于旧版应用程序虚拟机上的文件共享。我尝试过向所有人共享,但没有成功。

所以,我的问题是:是否可以从 Azure 网站访问文件共享?如果没有,我还有什么选择?

我知道我们可以为网站启动另一个虚拟机,这样就不会出现任何问题,但我想使用 Azure 网站来优化成本并利用所有 Azure 优势。

最佳答案

在撰写本文时,Azure 文件服务 SMB 共享只能从 VM、Web 和辅助角色访问。您可以使用存储 REST.API 或客户端库从 Azure 网站或本地访问您的文件。您可以从 nuget 获取它。

Install-Package WindowsAzure.Storage

我进行了相同的练习,将使用文件的 Web 应用程序移动到 Azure。 Example of what I did.

关于asp.net - 从 Azure 网站访问文件共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725172/

相关文章:

azure - 访客用户的访问 token 和身份验证

architecture - 什么时候应该使用Logic App而不是Web Job?

c# - 在 Azure 中托管旧版 WCF 服务

asp.net - 为什么PreInit上的ClientID与Init或PreRender中的ClientID不同?

c# - 如何使用单一路由在 asp.net webform 中创建友好的 url

asp.net - 如何在 Azure 中对多个 Web/辅助角色实例进行内部负载平衡?

angularjs - 响应中 'Access-Control-Allow-Credentials' header 的值为 '',当请求的凭据模式为 'true' 时,该值必须为 'include'

Azure-函数应用程序的 zip 推送部署不起作用

c# - 通过依赖注入(inject)创建 AntiForgeryToken

c# - 检查c#方法的速度和内存大小