当用户(经过身份验证的域管理员)应该能够从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.我认为有更好的方法,因为以前的建议看起来不安全或不健全。
答案 0 :(得分:2)
我建议你有一个计划任务或Windows服务来轮询公共存储库以查看是否应该运行批处理作业 - 因为批处理作业通常用于长时间运行的进程。
您可以将要从ASP.NET网站运行的批处理文件和参数的详细信息保存到数据库(MySQL,Oracle,SQL Server等)中,然后针对此数据库进行Windows服务/计划任务轮询定期。
答案 1 :(得分:-1)