Bil*_* Jo 17 .net asp.net winforms
从类库中,我需要在运行时确定我是在ASP.NET应用程序还是WinForms/console应用程序中运行.已经有一些 其他 的问题 问的问题,但所有这些解决方案都需要增加的System.Web参考.如果可能的话,在运行我的控制台和WinForms应用程序时,我不想将System.Web程序集加载到内存中,仅用于一行代码中的数千行.
Pau*_*sik 8
使用 System.Diagnostics.Process.GetCurrentProcess().ProcessName
System.Diagnostics.Process.GetCurrentProcess().ProcessName
如果您正在运行ASP.NET,那么程序集将被命名为:
如果您运行的是IIS 6.0或IIS 7.0,则名称为w3wp.exe.
如果您运行的是早期版本的IIS,则名称为aspnet_wp.exe.
另一个想法:如何使用AppDomain.CurrentDomain.GetAssemblies()API测试进程/应用程序域是否存在System.Web.dll?
dev*_*vio 5
您链接的一个问题包含一个表明Environment.UserInteractive的答案.
您还可以尝试分析代码的StackTrace,以确定调用的位置.
归档时间:
14 年,9 月 前
查看次数:
6763 次
最近记录:
8 年,1 月 前