【问题标题】:Why is a .NET x86 windows service not displayed with *32 in Task Manager?为什么 .NET x86 windows 服务在任务管理器中没有显示为 *32?
【发布时间】:2010-12-28 18:44:46
【问题描述】:

我使用 .net 3.5 创建了一个虚拟 Windows 服务。该服务已针对 x86 显式编译(设置了 32BIT corflag)。

来自 SysInternals 的 Process Explorer 将进程正确识别为 32 位进程。但是,任务管理器不会将“*32”附加到进程名称。

这是为什么呢?

干杯, 亚历克斯

【问题讨论】:

  • 尝试在 serverfault.com 上提出这个问题
  • 这可能太明显了,但这是在 64 位操作系统上吗?
  • 是的,它在 64 位操作系统上,运行 32 位 Windows 服务。
  • 是的,也将其发布到 serverfault。
  • 你能提供交叉帖子的链接吗?

标签: .net windows-services 32-bit taskmanager corflags


【解决方案1】:

我建议您在服务中添加以下内容:

Console.WriteLine("{0}", IntPtr.Size);

您可能会发现,由于您的服务由 64 位服务运行时托管,因此您的应用程序会强制自己以 64 位而不是 32 位运行。

【讨论】:

  • 服务中没有控制台。
  • 但是,也许他可以将其写入他的日志文件或事件日志?
  • SysInternals 的 Process Explorer 将进程正确识别为 32 位进程
猜你喜欢
  • 2017-04-09
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多