如何从我的应用程序@Client端打开命令提示符

时间:2011-04-26 07:20:34

标签: c# asp.net command-prompt

请帮助我如何从客户端打开命令提示符。当我点击按钮时,它应该打开命令提示符。我在我的电脑上试过,它在开发环境中工作,但在IIS中部署时却没有打开。

代码:

    var Processstartinfo = new ProcessStartInfo
    {           
        FileName = "cmd"
    };
    Process process = Process.Start(Processstartinfo);

2 个答案:

答案 0 :(得分:5)

asp.net在服务器上运行。我怀疑你是在本地运行cassini,所以你的服务器桌面和客户端桌面是一样的。您正在做的是在服务器上打开命令提示 ;如果你考虑它,这是一个有趣的DDOS攻击面(即不要这样做)。

简短回答:你不能这样做。没有浏览器(或者应该......我会考虑IE; p)允许这样做。客户端操作系统甚至不需要支持命令提示符,也不需要.NET;即使这样,很少有浏览器会让你产生一个过程。

答案 1 :(得分:1)

您需要创建一个假的命令提示符才能执行此操作。正如Marc所说,它引入了巨大的安全风险,我永远不会这样做。

要解决此问题,您需要重定向标准输入/输出,以便您可以读取/写入它们。 Here is an example。创建命令进程并将Process对象保存在会话变量中。

在客户端添加<div id="commandOutput"></div><input type="text" name="command" /><input type="submit" value="Execute command" />。使用jquery或类似方法挂钩按钮单击事件。

使用ajax提交表单。通过将命令写入会话变量中保存的stdin对象中的Process来执行该命令。从标准输出读取并将结果返回给客户端,客户端使用jQuery或其他东西将其添加到commandOutput div。

应该这样做。请注意,有权访问的任何人都可以与您的服务器进行 任何