【发布时间】:2015-09-25 07:46:28
【问题描述】:
有没有办法从代码中获取网络应用程序的名称。即,如果我已将我的应用程序部署到名为 my-webapp-dev-ne 的网络应用程序,我需要能够在代码中获取此名称。我无法将其添加到应用配置文件或任何其他方法的原因是同一个应用可以部署到多个地方。
【问题讨论】:
标签: azure web-applications azure-web-app-service
有没有办法从代码中获取网络应用程序的名称。即,如果我已将我的应用程序部署到名为 my-webapp-dev-ne 的网络应用程序,我需要能够在代码中获取此名称。我无法将其添加到应用配置文件或任何其他方法的原因是同一个应用可以部署到多个地方。
【问题讨论】:
标签: azure web-applications azure-web-app-service
添加到 Rick 的回答中,您可以找到更多信息环境设置here
WEBSITE_SKU - 网站的 sku(可能的值:免费、共享、基本、标准)。WEBSITE_COMPUTE_MODE - 指定网站是在专用还是共享 VM/s 上(可能的值:共享、专用)。WEBSITE_SITE_MODE - 站点的模式(对于免费站点可以是 Limited,对于共享站点可以是 Basic,对于标准站点可以是空的)。WEBSITE_HOSTNAME - Azure 网站的站点主主机名(例如:site.azurewebsites.net)。请注意,此处不考虑自定义主机名。WEBSITE_INSTANCE_ID - 代表运行站点的 VM 的 ID(如果站点在多个实例上运行,每个实例将具有不同的 ID)。WEBSITE_NODE_DEFAULT_VERSION - 本网站使用的默认节点版本。WEBSOCKET_CONCURRENT_REQUEST_LIMIT - websocket 并发请求的限制。【讨论】:
Web 应用程序环境提供了一个名为 WEBSITE_SITE_NAME 的环境变量,其中包含名称。您可以像这样从 C# 代码中访问它。
var siteName = Environment.GetEnvironmentVariable("WEBSITE_SITE_NAME");
【讨论】:
如果您安装了 Microsoft.WindowsAzure.ConfigurationManager nuget,则可以执行此操作。
var siteName = CloudConfigurationManager.GetSetting("WEBSITE_SITE_NAME");
【讨论】:
我会将其设置为您的 web.config 中的配置 - 例如:
<appSettings>
<add key="sitename" value="my-webapp-dev-ne" />
</appSettings>
【讨论】: