【问题标题】:IIS background processIIS后台进程
【发布时间】:2011-12-04 02:18:45
【问题描述】:

我有运行我创建的几个 WCF REST 服务的 IIS 服务器。 现在我需要添加一些将在服务器上运行并偶尔为我做一些工作的进程。

我猜 IIS 应该启动某种后台进程之类的,但我不确定在这种情况下我应该使用什么技术?

【问题讨论】:

标签: c# .net asp.net iis


【解决方案1】:

在阅读了至少三个其他类似问题后,似乎最好的做法是避免运行后台线程并允许 Windows 服务应用进行处理。您可以将行拖放到数据库表中或将行附加到文件以启动 Windows 服务工作。

查看这些主题中的任何一个...

Can I use threads to carry out long-running jobs on IIS?

What are some best practices for managing background threads in IIS?

【讨论】:

    【解决方案2】:

    正如其他人所提到的,作为 Windows 任务计划程序的替代方案,您还可以:

    在您的global.asax 文件中,在您的application_start() 方法中,您可以启动一个新线程来执行您想做的任何事情,然后在application_end() 方法中将其关闭。

    【讨论】:

    • 如果您的应用空闲时间过长,您还必须将 IIS 配置为不卸载它。
    【解决方案3】:

    查看window task scheduler

    您可以安排一个流程来启动,然后检查是否有任何组件已排队等待它执行。工作可以存储在文件(需要锁定)或数据库表(这是我的偏好)中。

    【讨论】:

      【解决方案4】:

      Windows 计划任务通常是执行此操作的方法。

      【讨论】:

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