将应用程序部署为Windows服务的问题

时间:2010-11-27 16:58:37

标签: c# windows-services

我在C#中创建了一个应用

的应用程序
  1. 监控文本文件,如果文件中有特殊内容,则会拍照。
  2. 监控文件夹,如果在该文件夹中创建了任何新文件,则会将该文件传输到服务器(服务器是wcf服务,我的应用程序将此服务作为webserivce使用)。

  3. 托管tcp侦听器以侦听特定端口。

  4. 当我将此应用程序作为控制台应用程序运行时,问题是应用程序运行良好。但是,如果将此应用程序安装为Windows服务(实际上每个用途的3个Windows服务),系统开始显示一些缓慢,有时系统挂起。我使用FileSystemWatcher来观看文本文件和文件夹。 tcp监听器也以异步方式工作,上面提到的任何任务都不可能挂起服务onstart函数。

3 个答案:

答案 0 :(得分:0)

这里可能没有足够的信息供任何人给你一个有用的答案。我首先添加一些日志记录,看看你是否可以确定它在哪里停滞。然后,一旦你确定了这一点,发布代码,看看是否有人有任何想法,为什么会发生这种情况。

答案 1 :(得分:0)

请详细说明“系统挂起”。

如果我是你,我将使用WinDbg或其他调试器来捕获新服务挂起时的进程挂起转储,这样的转储应该告诉你什么了。

答案 2 :(得分:0)

在黑暗中拍摄:

通常当我在运行Windows服务时遇到奇怪的问题,但它作为控制台应用程序运行良好时,通常是以下两个原因之一:

  1. 服务正在运行的用户没有执行操作的权限。
  2. 如果是具有UAC的操作系统,则可能是问题所在。作为测试(不是解决方案),禁用UAC并查看该过程是否正常。
  3. HTH, 布赖恩