如何将 ASP.NET MVC 5 Web 应用程序部署到 Azure 中的虚拟网络

How can I deploy an ASP.NET MVC 5 Web App to a Virtual Network in Azure

我有一个现有的 ASP.Net MVC 5 Web 应用程序(和关联的 Web 服务),我被要求部署到 Azure 中的特定 VNet(虚拟网络)中。我已经用谷歌搜索死了,然后删除了。

我发现最好的方法是编辑 ServiceConfiguration.cscfg 文件以包含这样的节点:

<NetworkConfiguration>
  <VirtualNetworkSite name="Test-VNet" />
  <AddressAssignments>
    <InstanceAddress roleName="Test-Role-1">
      <Subnets>
        <Subnet name="Subnet-1" />
      </Subnets>
    </InstanceAddress>
  </AddressAssignments>
</NetworkConfiguration>

问题在于 .cscfg 文件 APPEAR 是 Azure 云服务部署项目所特有的,不会出现在部署 Azure 网站时提供任何帮助。如果这是唯一的方法,那么我将不得不创建一堆云服务项目,将代码移植到它们中,然后重新测试。这可能会非常耗时,我认为管理层不会意识到这种风险。

我是否必须将 Web 应用程序项目重新创建到 Azure 云服务中才能将它们部署到 VNet 中,还是有其他方法...?

最后我让步了,创建了云服务项目(以及相关的部署包)来替换 Web 服务并移植代码。它并没有花太长时间,只需要很少的代码调整。我作为标准 Web 应用程序保留的 public 面向网站。

完成此操作后,我能够将我的私有 Web 服务(现在是云服务)部署到 Azure 虚拟网络中,在那里它们对外界隐藏,并配置 public 网站以允许它访问 VNet 中的组件。