从IIS启动批处理作业

时间:2010-10-28 11:54:28

标签: asp.net iis iis-7.5

当用户(经过身份验证的域管理员)应该能够从IIS(7.x)aspx(c#)页面启动批处理作业(通常是exe文件)时,正确的方法是什么?这是一个Intranet站点。批处理作业必须作为Domain Admins在Web服务器上运行。网站池由网络服务或AD中的某些类似受限帐户执行。

我能想到的方法(及其缺点): 1.使用另一个帐户启动带有System.Diagnostics.Process.Start的exe文件。 IIS 7.x中禁用此功能,如何允许它? 2.创建一个已完成的任务并调用计划的任务-api。这个非托管的dll给出了VS编译器警告,因为从托管代码调用是不安全的。 3.我认为有更好的方法,因为以前的建议看起来不安全或不健全。

2 个答案:

答案 0 :(得分:2)

我建议你有一个计划任务或Windows服务来轮询公共存储库以查看是否应该运行批处理作业 - 因为批处理作业通常用于长时间运行的进程。

您可以将要从ASP.NET网站运行的批处理文件和参数的详细信息保存到数据库(MySQL,Oracle,SQL Server等)中,然后针对此数据库进行Windows服务/计划任务轮询定期。

答案 1 :(得分:-1)