gpt4 book ai didi

asp.net-mvc - 如何检测 ASP.NET 站点是否在本地、Azure Web 角色或 Azure 网站中运行?

转载 作者:行者123 更新时间:2023-12-04 19:05:03 24 4
gpt4 key购买 nike

注意:这与检测本地运行与 Azure 角色中运行的问题不同,据我所知,这个问题已经得到解答。

我有一个 APS.NET MVC 应用程序,已部署到 Azure。我正在运行 Azure 工具的 V2.5。我希望能够检测代码运行在以下三种场景中的哪一种:

本地(在 IIS 上调试)、Azure 网站或 Azure Web 角色

我在其他帖子中看到了使用以下内容的建议:

RoleEnvironment.IsAvailable

但是,这对于我的需求来说似乎是一个不完整的解决方案。它似乎可以毫无问题地检测代码是否在本地运行或作为网络角色运行。但是,它似乎没有涵盖检查是否作为 azure 网站运行的场景。它不仅没有涵盖这一点,而且在 Azure 网站中运行时尝试检查该属性也会导致它崩溃:

mscorlib.dll 中发生了“System.IO.FileLoadException”类型的第一次机会异常

Additional information: Could not load file or assembly
'Microsoft.WindowsAzure.ServiceRuntime, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

那么,谁能告诉我如何检测这三种情况?

最佳答案

我遇到的确定是否在 Azure 网站上运行的最佳方法是检查是否存在特定于 Azure 网站的环境变量,例如 WEBSITE_SITE_NAME。您可以先检查这一点,如果该变量不存在,则继续进行 RoleEnvironment.IsAvailable 检查。

参见this answer了解更多详情。

关于asp.net-mvc - 如何检测 ASP.NET 站点是否在本地、Azure Web 角色或 Azure 网站中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27219798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com