gpt4 book ai didi

c# - 是否有检测 ASP.NET 的指令?

转载 作者:太空狗 更新时间:2023-10-30 00:27:18 26 4
gpt4 key购买 nike

我有一个在 ASP.NET、SQL CLR 和独立应用程序中工作的代码库,并根据某些命名空间(例如 System.Drawing)是否可用提供不同的功能或不。现在,我手动排除了这些代码片段,但使用 C# 编译器会很有帮助:

  • 我可以再懒一点,
  • 我可以使用同一个库。

我知道我可以使用 #if directives搜索定义,我可以手动定义类似 ASP_NET 的内容,但如果有一种方法可以自动执行此操作,那就更好了。

那么,我可以检测 ASP.NET 吗?或者,我可以检测某些引用的程序集是否可用吗?

最佳答案

asp.net 没有这样的预定义预处理器指令。

大多数人所做的是寻找当前的 HttpContext - 假设如果它为 null,则这不是 Web 上下文。

另一种选择是测试 HttpRuntime.AppDomainAppId对于 null,类似的假设。

其他类似选项:

System.Web.Hosting.HostingEnvironment.IsHosted == true
System.Web.HttpRuntime.Cache != null

并且您可以检查 web.config 文件是否存在。

关于c# - 是否有检测 ASP.NET 的指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062706/

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