【发布时间】:2012-04-25 14:25:43
【问题描述】:
我只是想知道是否有任何技术/理论原因使 Windows NT 服务比使用 c++ 而不是 .Net 应用程序创建的更稳定,反之亦然。
实际上,我有两个 Nt 服务,一个是用 cpp 制作的,另一个是用 .Net 应用程序制作的。我观察到两者都显示在启动模式下,但我需要经常(平均每 2 天一次)重新启动由 .Net 创建的服务才能做出响应。当我试图了解 .Net 服务的这种奇怪行为时,我的一些朋友提出了与操作系统内部相关的答案,有人说 .Net 就是这样构建的。我完全不知道 .Net 平台,所以找到这个论坛的原因是我的尝试之一。
谢谢
阿尼尔
【问题讨论】:
-
哪种方式更稳定?
-
两者都和程序员创建的一样稳定
-
使用 C++(如果它是本机的)可能会比使用 .NET 获得一些性能,但这只是在启动期间。一旦它们都启动并运行,应该不会有太大区别。
-
虽然没有提到服务(几乎无关紧要),但这基本上是previous question about C# vs. C++的副本
-
曾在一个使用非常高性能用 C++ 和 .NET 编写的 Windows 服务的组织工作,.NET 服务的缺点之一是垃圾收集可能会启动意外并使服务无响应几秒钟。通过仔细设计您的服务,您应该能够避免这个问题,但它可能不是微不足道的。另一方面,C++ 服务通常更难编写,如果编写不当会泄漏内存、以疯狂的方式崩溃并且难以维护。
标签: c++ .net windows-services