如何在Azure web app web.config文件中添加/设置新的环境变量
我在Microsoft Azure Web App上部署了一个应用程序。我已经创建了web.config文件 我有2个自定义域链接到我的web应用如何在Azure web app web.config文件中添加/设置新的环境变量,azure,azure-web-app-service,Azure,Azure Web App Service,我在Microsoft Azure Web App上部署了一个应用程序。我已经创建了web.config文件 我有2个自定义域链接到我的web应用 api-stage.example.com api-prev.example.com 我想在访问API时设置1个名为PLATFORM的环境变量。 例如,当我使用api-stage.example.com访问api时,我想将平台的值设置为stage;当我使用api-prev.example.com访问api时,我想将平台的值设置为prev 我在下面的代
$platform=getenv('platform')代码>
我的web.config文件的内容如下所示
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol allowKeepAlive="true">
</httpProtocol>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<rewrite>
<rules>
<rule name="ABC" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
<handlers>
<remove name="OPTIONSVerbHandler" />
<remove name="PHP56_via_FastCGI" />
<add name="PHP56_via_FastCGI" path="*.php" verb="GET, HEAD, POST, OPTION, DELETE, PUT, TRACE" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" requireAccess="Script" />
</handlers>
</system.webServer>
</configuration>
有人能帮我怎么做吗?我需要在web.config文件中添加哪个块。我无法通过应用程序设置使用Azure Portal实现这一点,因为它只允许我为平台变量设置一个值。但是我想使用主机名来设置和访问它,我正在使用主机名来调用API。如果您不想在门户中设置变量,您可以参考以下文档:
对于ASP.NET和ASP.NET核心开发人员,在应用程序服务中设置应用程序设置就像在Web.config或appsettings.json中设置它们一样
注意:应用程序服务中的值覆盖Web.config或appsettings.json中的值。对于其他语言,文档还提供链接
下面是我的测试。尝试使用System.Configuration.ConfigurationManager.AppSettings[“testkey”]
获取值
希望这能对你有所帮助。根据您的描述,您将两个环境站点部署到一个应用程序服务中,一个是stage,另一个是prev。因此,如果您使用的是标准、高级或独立应用程序服务计划层,为什么不试试呢。谢谢您的回复。是的,我试着为两个独立的产品使用相同的代码,基于平台变量值具有不同的功能。AppSetting将用于整个web应用。它不能基于主机名使用。所以我使用了你建议的其他方法。我创建了暂存槽。@克鲁,如果这对你有帮助,请接受它作为答案。