2010-04-06 40 views
1

我有一个Web服务应用程序的工作,我有1,可以采取任何东西从1小时到14个小时,取决于需要处理和数据调用Web服务这个月的时间。如何在IIS中创建能够运行扩展过程

有没有办法在IIS中创建一个作业,可能是能够运行这个扩展的过程。我还需要工作管理和报告,以便能够看到工作是否正在运行,从而不会在其他工作上创建新的工作。

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

现在我使用的是Web服务调用,但我不喜欢的Web服务运行这么长时间的思想,由于Web服务的性质,我不能分割功能任何更多。如果它们可用

IIS的工作将是真棒。有任何想法吗?

回答

2

如果我是你,我会做一个由Web服务拉开序幕一个命令行程序。运行一个命令行应用程序是非常简单的,基本上

Process p = new Process(); 

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

每个机器的工作进程的数量有限,他们是不是真的意味着长期运行的工作。

+0

这可能是一个很好的解决方案,与一个互斥体相结合,以确保只有1个正在运行的版本... – 2010-04-06 16:17:14

0

一个可能性,一点设置成本,就是让你的处理作为一个Windows服务运行,侦听一个消息队列(MSMQ或类似的),并让你的web服务只是将请求发送到消息队列中由处理服务处理。

监测工作比较困难;您的Web服务需要有一种查询处理服务的方法来查明其状态。这是一个IPC(进程间通信)问题,它具有许多不同的解决方案,并根据您的环境和环境进行各种折衷。

这就是说,对于简单的情况下,马特的解决办法可能是足够的。