Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发布给其他人';s Azure订阅?_C#_Asp.net Mvc_Azure_Publish - Fatal编程技术网

C# 发布给其他人';s Azure订阅?

C# 发布给其他人';s Azure订阅?,c#,asp.net-mvc,azure,publish,C#,Asp.net Mvc,Azure,Publish,我有一个web应用程序,目前在我自己的Azure订阅下在Azure上运行。我想把它转移给另一方,这样他们就可以在订阅下运行web应用程序。我该怎么做 我可以: 给他们一些他们可以发布的包(理想情况下,我希望避免给他们实际的源代码),或者 从他们那里获取连接详细信息,以便我可以直接从VisualStudio发布到他们的订阅(所说的连接详细信息不能让我完全控制他们的订阅) 请注意,web应用程序由一个网站、一个Azure SQL数据库和一个Blob容器组成。最好的方法是他们向您提供发布配置文件,以便

我有一个web应用程序,目前在我自己的Azure订阅下在Azure上运行。我想把它转移给另一方,这样他们就可以在订阅下运行web应用程序。我该怎么做

我可以:

  • 给他们一些他们可以发布的包(理想情况下,我希望避免给他们实际的源代码),或者
  • 从他们那里获取连接详细信息,以便我可以直接从VisualStudio发布到他们的订阅(所说的连接详细信息不能让我完全控制他们的订阅)

  • 请注意,web应用程序由一个网站、一个Azure SQL数据库和一个Blob容器组成。

    最好的方法是他们向您提供发布配置文件,以便从Azure web应用程序仪表板下载

    这为您提供了一个文件,您可以将其导入到项目中,该项目将发布到该Azure订阅。发布设置文件中包含的信息仅为该web应用程序的唯一用户ID和密码(您可以使用记事本打开该文件并读取其内容)

    如果需要直接与数据库交互,则需要SQL用户名和密码,还需要打开SQL Azure防火墙以允许您的IP地址连接到数据库


    与blob容器的交互可以使用blobapi(或其他一些GUI工具)和一个带有正确读/写访问权限的键来完成

    最好的方法是为您提供发布配置文件,他们可以从Azure web应用程序仪表板下载

    这为您提供了一个文件,您可以将其导入到项目中,该项目将发布到该Azure订阅。发布设置文件中包含的信息仅为该web应用程序的唯一用户ID和密码(您可以使用记事本打开该文件并读取其内容)

    如果需要直接与数据库交互,则需要SQL用户名和密码,还需要打开SQL Azure防火墙以允许您的IP地址连接到数据库


    与blob容器的交互可以使用blobapi(或其他一些GUI工具)和一个带有正确读/写访问权限的键来完成

    Azure现在拥有资源管理器API(ARM)。功能之一:资源组。资源组用作一组资源(web应用程序、VM等)的边界框。您可以授予资源组的权限,允许订阅/组织外部的人员在该资源组中工作。拥有
    owner
    权限,他们将能够在该组中创建新资源,并且永远无法看到资源组之外的任何内容。

    Azure现在拥有资源管理器API(ARM)。功能之一:资源组。资源组用作一组资源(web应用程序、VM等)的边界框。您可以授予资源组的权限,允许订阅/组织外部的人员在该资源组中工作。有了
    owner
    权限,他们就可以在该组中创建新的资源,并且永远看不到资源组之外的任何内容。

    您是否需要在另一方订阅中访问web应用更长的时间,还是像一次性的事情一样?@GauravMantri:可能是一次性的事情,尽管除了发布之外,我可能还得帮助他们建立数据库,等等。请看一下下面@David的答案(以及我的评论)。客户机可以暂时授予您对其订阅中的一个资源组的访问权限。您可以登录、设置所有内容、进行部署,然后您的客户机可以将您从其订阅中删除(或将您保留在那里,使您可以随时进行检查,但不进行任何更改)。您是否需要在另一方的订阅中访问web应用程序更长的时间,或者它像一次性的东西?@GauravMantri:可能是一次性的东西,但是除了发布之外,我可能还需要帮助他们设置DB等。请看一下下面的@David的回答(以及我的评论)。客户机可以暂时授予您对其订阅中的一个资源组的访问权限。您可以登录、设置所有内容、进行部署,然后您的客户端可以将您从其订阅中删除(或将您保留在阅读器角色中,以便您可以不时进行检查,但不进行任何更改)。3更正/建议:1)权限应该是另一种方式。客户端应授予Gary对其订阅中的资源组的权限,以便Gary可以在其订阅中部署应用程序。2) 我推荐
    contributor
    权限,而不是
    owner
    权限。3) 我甚至不会提到联合管理的事情。我不确定你对第1点的意思:如果我拥有一个sub,并且希望你在其中工作,我必须在我的sub中授予你对RG的权限。2)在创建新资源时,贡献者是有限的(但可能适用于大多数情况)。3) 我的理解是,Gary已经为他的客户构建了一个应用程序,现在想要将此应用程序转移给他们,因此评论(可能是我误解了)。2) 授予所有者权限是危险的,因为这将允许Gary向该资源组添加其他用户或更改该资源组中的用户角色。贡献者本质上是所有者,但无权更改角色和管理用户。谢谢,听起来不错。但是,我尝试了以下方法:创建一个新的电子邮件地址,使用该电子邮件地址创建一个新的Microsoft帐户,使用该帐户创建Azure订阅,在该订阅中创建一个资源组,最后将我的普通Microsoft帐户添加为具有该资源组的参与者权限的用户。全部o