[英]How to add/set new environmental varaible in Azure web app web.config file
我在 Microsoft Azure Web App 上部署了一個應用程序。 我已經創建了 web.config 文件。
我有 2 個自定義域鏈接到我的 web 應用程序
當我的 API 被訪問時,我想設置 1 個名為 PLATFORM 的環境變量。 例如。 When I access api using api-stage.example.com I want to set value of PLATFORM to stage and when I access api using api-prev.example.com, I want to set value of PLATFORM to 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 門戶來執行此操作,因為它只允許我為 PLATFORM 變量設置一個值。 但我想使用我用來調用 API 的主機名來設置和訪問它。
如果您不想在門戶中設置變量,可以參考此文檔: 配置應用程序設置。
對於 ASP.NET 和 ASP.NET Core 開發者來說,在應用服務中設置應用設置就像在 Web.config 或應用程序設置中設置它們一樣。
注意:應用服務中的值會覆蓋 Web.config 或 appsettings.json 中的值。 對於其他語言,文檔還提供了鏈接。
以下是我的測試。 嘗試使用System.Configuration.ConfigurationManager.AppSettings["testkey"]
來獲取值。
希望這可以幫助你。 根據您的描述,您將兩個環境 Web 部署到一個應用服務中,一個是 stage,一個是 prev。 因此,如果您使用的是標准、高級或獨立應用服務計划層,為什么不嘗試暫存槽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.