【问题标题】:Know in what context DLL is running知道 DLL 在什么上下文中运行
【发布时间】:2010-12-09 04:07:24
【问题描述】:

我想知道 DLL 是在 Web 还是桌面环境中使用。一种方法是检查HttpContext 是否为空。但我想知道是否有其他更好的方法。

【问题讨论】:

  • 虽然可能有更多方法,但我认为没有更好的方法。

标签: c# .net dll


【解决方案1】:

我们经历了同样的事情,因为我们有一个在 Windows 和 Web 应用程序中运行的 .DLL,并且您已经确定了确定哪个是哪个的方法。

public bool IsWebApp()
{
    return (HttpContext.Current != null);
}

然后在您的应用程序中,您只需查询:

if ( this.IsWebApp() )
{
    //do webby stuff...
}

【讨论】:

  • 这不是 100% 可靠的,因为在某些情况下,当 HttpContext.Current 在 Web 应用程序中返回 null 时。例如在 global.asax 中的 Application_Start 方法中或在新线程上调用时。
猜你喜欢
  • 2023-03-12
  • 2015-02-19
  • 1970-01-01
  • 2017-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-21
  • 1970-01-01
相关资源
最近更新 更多