【问题标题】:Polling Service in ASP.NET Webservice with Backgroundworker is not continueing使用 Backgroundworker 的 ASP.NET Web 服务中的轮询服务未继续
【发布时间】:2013-09-21 16:03:55
【问题描述】:

我需要在 ASP.NET-WebService 中运行轮询服务。现在,我用BackgroundWorker 实现了它,我从HttpApplicationApplication_Start 开始。这是有效的。但是突然之间,它不再继续工作了。

现在,我有一个闲散的问题: HttpApplication 在启动并执行 Application_Start 之后的生命周期是多少? 我是否需要在其他地方实施和运行我的BackgroundWorker

【问题讨论】:

    标签: c# asp.net web-services httpapplication


    【解决方案1】:

    BackgroundWorker 不是为您的用例设计的。引用自MSDN:

    BackgroundWorker 类允许您在 独立的专用线程。

    asp.net 应用程序池通常配置为(默认 IIS 设置)在 20 分钟空闲时间后关闭。我认为你的情况就是这样。

    您应该开发一个Windows Service。以下是相同的简要说明:

    Windows 服务使您能够创建长时间运行的可执行文件 在自己的 Windows 会话中运行的应用程序。这些服务 可以在电脑开机时自动启动,可以暂停 并重新启动,并且不显示任何用户界面。这些特点使 非常适合在服务器上或需要长时间运行时使用的服务 不会干扰其他正在工作的用户的功能 在同一台计算机上。

    您可以重复使用所有现有代码。只需根据您的要求定期从此 Windows 服务调用您的 Web 服务。就是这样。

    【讨论】:

      猜你喜欢
      • 2013-11-11
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多