gpt4 book ai didi

.net - 如何检测 .Net 应用程序类型?

转载 作者:行者123 更新时间:2023-12-04 22:09:21 25 4
gpt4 key购买 nike

我有一个需要以不同方式响应异常的库,具体取决于它是在控制台应用程序,WinForms,AspNet还是Windows Service中运行。我曾尝试查看 System.Windows.Forms 和 System.Web 命名空间中的各种属性,但找不到一种可靠的方法来准确检测托管我的库的应用程序类型。以前有人来过这里吗?有人有可靠的解决方案吗?

最佳答案

在走这条路之前,我会质疑你的设计,但我认为这是一个有趣的挑战,想看看我是否能找到。

ASP.Net:检查 HttpContext.Current 不为空。您还可以查看 System.Web.Hosting.ApplicationManager.GetApplicationManager(),但我不确定这在 Asp.net 之外会如何表现

窗口表单:您可以尝试使用System.Windows.Forms.Application.OpenForms,这将返回所有打开的表单。假设 Windows 窗体应用程序永远不会没有任何窗体。此外,控制台应用程序也可以启动 win 表单。

服务:不确定,但我想知道您是否可以检查进程名称。还必须有一个 Windows API,因为任务管理器会显示进程何时是服务(至少在 Vista 上是这样)

关于.net - 如何检测 .Net 应用程序类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/878598/

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