我创建了C#
项目,处理核心从C++
移植 - 核心只是执行作业 - 获取简单数据,处理它并返回一些结果作为简单数据。作为windows服务运行时应用程序的奇怪行为
该项目作为控制台应用程序运行时的工作原理确定:
MainProcess main = new MainProcess();
main.Run(); //starts thread with main
main.Join(); //prevent main thread from terminating
当我将其更改为在初始化运行作为最简单的Windows进程,与MainProcess main = new MainProcess();
,main.Run()
上启动和main.Abort() \\ aborts thread with main
上停止核停止正常工作。
核心是一些确定性heurestic,不知道什么,但本身。它获得相同的数据,但返回更糟的结果,当整个应用程序作为服务运行。
我查了一下,这是不是有些权限问题。
你有什么想法,有什么可能出问题?这与一个小小的改变完全相同。它对于相同的数据总是返回相同的结果(对所有的控制台执行都是相同的,对于所有的Windows服务执行都是相同的)
所以我的问题是:什么不同的功能在程序运行作为控制台应用程序或Windows服务使它?
“核心停止正常工作”是什么意思?你没有提供可以识别问题的信息,因为你没有告诉我们这个问题到底是什么。除非你解释这意味着什么,否则“停止工作”是没有用的。 “回报更差的结果”也没有告诉我们,因为“更坏的结果”对除了你以外的任何人都没有任何意义。我们无法阅读您的想法或从这里看到您的代码。 :-)如果你希望我们帮你解决问题,你需要解释这个问题。 – 2013-04-09 22:17:18
@KenWhite我不认为核心本身有问题。它在移植之前正在工作,它在移植为控制台应用之后正在工作。代码很长很复杂。 的问题是什么时,程序运行作为控制台应用程序或Windows服务应用区别呢,所以我和人在类似的情况可能知道,从哪个方面来说,他们应该对其进行调试。 – Ari 2013-04-09 22:21:59
正如我所说,你没有告诉我们这个问题。 SO是针对具体问题的,而不是“你能推测什么可能是我不会告诉你的问题的原因吗?”讨论。如果您不会告诉我们它是以什么方式损坏的,我们无法告诉您有什么问题或您可以如何解决问题。你的问题需要清楚并描述实际问题,否则它很可能会被视为“过于本地化”或“不是真正的问题”。 – 2013-04-09 22:27:18