Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过ASP.net运行EXE文件?_C#_Asp.net - Fatal编程技术网

C# 如何通过ASP.net运行EXE文件?

C# 如何通过ASP.net运行EXE文件?,c#,asp.net,C#,Asp.net,我在C#中为ASP.NET创建了一个页面来运行exe文件。我用以下代码创建了一个按钮和一个事件: ProcessStartInfo info = new ProcessStartInfo(@"C:\inetpub\wwwroot\Share\myfile.exe"); info.UseShellExecute = false; info.RedirectStandardInput = true; info.RedirectStand

我在C#中为ASP.NET创建了一个页面来运行exe文件。我用以下代码创建了一个按钮和一个事件:

        ProcessStartInfo info = new ProcessStartInfo(@"C:\inetpub\wwwroot\Share\myfile.exe");
        info.UseShellExecute = false;
        info.RedirectStandardInput = true;
        info.RedirectStandardError = true;
        info.RedirectStandardOutput = true;

        //info.UserName = dialog.User;
        info.UserName = "username";
        string pass = "MY pass";
        System.Security.SecureString secret = new System.Security.SecureString();
        foreach (char c in pass)
            secret.AppendChar(c);
        info.Password = secret;
        Process.Start(info);   
我从编译器执行,它正常运行,但当我在localhost中发布我的项目时,我并没有任何动作。有什么问题吗?

您尝试了什么? 这可能是权利的问题。默认情况下,您的网站不应该能够执行外部可执行文件,因为这将是一个严重的安全风险。也许你的问题有一个不同的解决方案,不需要运行外部程序

无论如何,我强烈建议不要直接从您的网站运行可执行文件。如果您确实需要运行该程序,也许您可以编写一个简单的windows服务,它可以接收消息(通过WCF?),然后在隔离的环境中执行您的程序。

要在asp.net中执行(运行)应用程序,我使用了以下方法:

1) 请参见其他站点上的代码:

2) 在web.config的“assemblyIdentity”字段中,我添加了“模拟”参数,如下所示:

<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
你可以试试

System.Diagnostics.Process.Start(MapPath("Windowscalculater.exe"))


“从编译器执行”是什么意思?你指的是命令行吗?我想他指的是在dev-web服务器的visualstudio中执行的。虽然你知道他们怎么说假设。当你假设的时候,你把你和我弄得一团糟;-)可能重复的
System.Diagnostics.Process.Start("C:\\inetpub\\my_application.exe" , "with-any-parameters");
System.Diagnostics.Process.Start(MapPath("Windowscalculater.exe"))
Dim p As New Process
p.StartInfo.FileName = MapPath("Windowscalculater.exe")
p.Start()