【问题标题】:httpListener as a windows servicehttpListener 作为 Windows 服务
【发布时间】:2011-03-28 20:57:50
【问题描述】:

我有一个运行良好的 httpListener exe。我现在需要做的是让它成为一个服务(我认为),这样当服务器重新启动时,这个程序就会自动启动。我找到了一些制作服务的教程并安装了一个,但是当我开始使用它时,它说响应时间很长。我在想这可能是因为我在 onStart 方法中有一个真正的循环。

有人有什么想法吗?

【问题讨论】:

    标签: vb.net windows-services httplistener


    【解决方案1】:

    如果服务 onStart 事件只是深入到业务逻辑中,事件永远不会结束,所以服务没有完成启动。我没有 VB.NET 示例,但我的方法是在 IniializeComponent 事件中创建一个计时器,完成一个较小的间隔并连接一个 timer.elapsed 事件。

    OnStart 事件中包含一行代码来启动计时器。服务启动完成,然后在 Timer.Elapsed 事件触发时服务开始工作。

    【讨论】:

    • 我不能有间隔,因为 http post 请求可能随时进来。经过一夜的思考,我需要的是一个在windows运行时启动并在后台运行并最小化到任务栏的exe,有​​点像防病毒程序。我想我会研究那条路线。
    • 这也不完全是。我只是将程序添加到服务器上的启动文件夹中,然后重新启动并尝试在另一台机器上发送请求,但它没有收到它。然后我远程登录到服务器,我看到程序启动然后发送了一个请求,它抓住了它。然后我注销,程序停止。我需要始终处于开启状态,无论是否有人登录,例如 IIS 或 SQL Server,但我认为它不能在计时器上。
    • 我终于让它工作了。将 exe 添加为在启动时启动的计划作业。
    【解决方案2】:

    如果没有更多信息(例如,关于您到底在做什么),就不可能直接回答这个问题。但是,这不是必需的,因为您应该能够通过将调试器附加到正在运行的服务来自己调试它,正如 here 所解释的那样。

    【讨论】:

      猜你喜欢
      • 2011-02-14
      • 1970-01-01
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多