如何在IIS中创建能够运行扩展进程的作业

时间:2010-04-06 16:07:19

标签: iis

我有一个网络服务应用程序,我有1个网络服务电话,可能需要1小时到14个小时,具体取决于需要处理的数据和月份的时间。

有没有办法在IIS中创建能够运行此扩展进程的作业。我还需要工作管理和报告,以便能够查看作业是否正在运行,以便不会在其他作业之上创建新作业。

我将主要使用IIS6。并且想使用C#代码。

现在我正在使用网络服务电话,但我不喜欢让网络服务运行这么长时间的想法,并且由于网络服务的性质,我无法将功能分开更多。

如果IIS作业可用,它们将非常棒。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果我是你,我会创建一个由Web服务启动的命令行应用程序。运行命令行应用程序非常简单,基本上是

 Process p = new Process();

 p.StartInfo.UseShellExecute = false;
 p.StartInfo.FileName = "appname.exe";
 p.Start();

每台机器的工作流程数量有限,它们并不适合长期工作。

答案 1 :(得分:0)

一种设置成本的一种可能性是让您的处理作为监听消息队列(MSMQ或类似物)的Windows服务运行,并让您的Web服务只是将请求发布到消息队列中由处理服务处理。

监控工作更加困难;您的Web服务需要有一种方法来查询您的处理服务以找出其状态。这是一个IPC(进程间通信)问题,它有许多不同的解决方案,需要根据您的环境和环境进行各种权衡。

那就是说,对于简单的情况,马特的解决方案可能就足够了。