从asp.net网页上运行服务器端的exe

时间:2015-03-04 18:39:17

标签: asp.net vb.net server-side

我需要在aspx网页的同一文件夹中运行位于服务器上的exe
我在网页上有一个按钮,点击后会执行exe并调出App表格。

这是aspx页面中存在的按钮的代码隐藏。

Protected Sub RunBtn_Click(sender As Object, e As EventArgs) Handles RunBtn.Click
    Dim process1 As New System.Diagnostics.Process()
    process1.StartInfo.WorkingDirectory = Request.MapPath("~/")
    process1.StartInfo.FileName = Request.MapPath("App.exe")
    process1.Start()
End Sub

它在localhost上完美运行。但是当我上传并点击按钮时,没有发生! 页面就坐了。没错。 exe没有出现。没有!!

可能以前曾被问过,但我没有找到任何解决方案。请帮帮我们。

2 个答案:

答案 0 :(得分:1)

您无法在网站上运行此类软件。该程序可能是在服务器上启动的,并且它出现在哪里(如果你甚至有足够的权限这样做的话)。

不确定您尝试运行的是哪种软件,但您必须将其转换为Web应用程序。

答案 1 :(得分:1)

当您使用process.start时,它将从启动它的进程的上下文开始新进程。在asp.net中,这将是Web服务器。从Visual Studio进行调试时,您可能正在使用在您的用户帐户下运行的开发Web服务器。在"真实"它将作为服务在IIS下运行。默认情况下,IIS在限制权限帐户下运行,该帐户根本不允许与桌面交互。应用程序 MAY 作为后台进程运行,但不允许显示用户界面。

让这项工作最好的办法是在Web服务器上有一个单独的进程,它可以轮询系统上的数据库或文件,触发可执行文件的运行。您可以通过文件传递参数和其他选项。