.net – 我怎么知道我是否在网络环境中运行?

我想知道是否有人用于检测线程是否在Web环境中运行的方法.

HttpContext.Current

是不可靠的,因为我在没有HttpContext的后台线程中进行这些检查.这好像是

HttpRuntime.AppDomainAppId

是非常可靠的(如果它是null然后我不在网络应用程序中),但我想知道是否有其他人有一些尝试和真实的技术.

顺便说一句,我将把它用于各种各样的事情.例如这段代码:

if (HttpRuntime.AppDomainAppId != null)
        {
            config = WebConfigurationManager.OpenWebConfiguration("~");
        }
        else
        {
            config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        }

谢谢
乔尼

最佳答案 尝试
HostingEnvironment.IsHosted,我认为它将按预期工作

点赞