【发布时间】:2011-01-06 00:11:44
【问题描述】:
我创建了一个 exe 文件,用于在我的服务器上进行一些维护工作。 我希望能够从服务器上的网站启动它。 exe 必须在服务器本身而不是客户端上启动。
我的直觉告诉我这是不可能的,但我不得不和你们核实一下。
如果我需要设置某些权限/安全性 - 我可以。
【问题讨论】:
标签: c# .net iis executable
我创建了一个 exe 文件,用于在我的服务器上进行一些维护工作。 我希望能够从服务器上的网站启动它。 exe 必须在服务器本身而不是客户端上启动。
我的直觉告诉我这是不可能的,但我不得不和你们核实一下。
如果我需要设置某些权限/安全性 - 我可以。
【问题讨论】:
标签: c# .net iis executable
一个非常粗略的选项,假设 IIS:将执行访问权限从“仅脚本”或“无”更改为“脚本和可执行文件”
为了不那么粗糙,你应该让可执行文件实现一个 CGI 接口(如果它在你的控制之下。
而且,如果您想使用 ASP.NET 添加自动/身份验证,执行此操作的代码 (C#) 将是:
System.Diagnostics.Process process;
var startInfo = New System.Diagnostics.ProcessStartInfo("C:\file.exe")
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
【讨论】:
这是可能的,但几乎可以肯定这是一个坏主意。什么环境/网络服务器?您应该只需要为文件设置相关的“执行”权限。
但是,我真的建议您不要这样做,并将任务配置为在后台自动运行。原因是,如果配置不当,您最终可能会让人们运行任何可执行文件,并根据其他因素完全接管您的机器。
【讨论】:
取决于您使用的语言;大多数服务器端脚本语言都为您提供了一种执行 shell 命令的方法,例如:
$result=`wc -l /etc/passwd`;
从 perl 执行一个 unix 命令。
【讨论】:
system 或者在回答中反引号
大多数网络语言(我至少知道 Java 和 PHP)都允许您在程序中执行命令行参数。
【讨论】:
可以,但是不推荐。
运行维护脚本/可执行文件的理想解决方案是在 Unix/Linux 系统上使用 cron 或在 Windows 中使用计划任务来安排它们。自动化方法与远程手动启动相比的一些优势:
【讨论】: