ASP.NET(c#)调用EXE问题

ASP.NET调用窗体应用程序或者控制台应用程序的时候,调式环境下可以运行EXE,而编译环境下不可以正常运行(虽然任务管理器有这个EXE进程,但实际上它没有执行)。
调用方法如下:
path=@"../ExeTest/test.exe";
System.Diagnostics.Process.Start(Server.MapPath(path))

不是路径的问题,是ASP.NET安全问题。
在IIS环境下,客户端与服务器之间不能直接地相互调用任何一种EXE(无论是WinForm还是Console,同样不能在CMD.EXE中调用他们)。
除非你用ActiveX控件,否则应该没可能做到.如果你有办法解决,那这个程序就成了病毒了.ActiveX 这个简单来说,也是要用户下载的并执行的,相当于windows桌面程序--Web程序之间的桥梁.
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-04-30
private void RunCmd()
{
StreamReader sOut = null;
StreamWriter sIn = null;
try
{
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;
psi.WorkingDirectory = mobilePath;
Process proc = Process.Start(psi);
sOut = proc.StandardOutput;
sIn = proc.StandardInput;
string builderXml = string.Format(@"mkdir c:\test22");
sIn.WriteLine(builderXml);
sIn.WriteLine("EXIT");
proc.Close();
}
catch (Exception ex)
{
return;
}
finally
{
sIn.Close();
sOut.Close();
}
}
第2个回答  2008-04-29
Server.MapPath ?! 不行的,用绝对路径.......
第3个回答  2008-04-29
编译后可能路径出错了,仔细检查下Server.MapPath求出的路径!

ASP.NET(c#)调用EXE问题
不是路径的问题,是ASP.NET安全问题。在IIS环境下,客户端与服务器之间不能直接地相互调用任何一种EXE(无论是WinForm还是Console,同样不能在CMD.EXE中调用他们)。除非你用ActiveX控件,否则应该没可能做到.如果你有办法解决,那这个程序就成了病毒了.ActiveX 这个简单来说,也是要用户下载的并执行的,...

asp.net(c#)开发的程序怎么生成.exe文件
选择release方式 F5运行一次 把bin里面 release文件夹里面的 exe文件拷出来就能用,需要dll或者其他文件的一次都拷出来

asp.net(C#)为什么上传了exe文件页面就无法显示
是代码没写好还是怎么的。 回答: 是代码写好了,他不允许上传可执行文件,或者是服务器技术不让你上传可执行文件 追问: 代码是我写的呵。我是在本机上运行的呵。别的后缀后都可以到进到后台,就是exe进不了。。?憧茨愦?氲纳洗?糠郑?忻挥屑邮裁聪拗疲??敲挥芯褪欠?衿骷际跗帘瘟丝芍葱...

(asp.net c#)网站发布到服务器后,导入excel时,提示“外部表不是预期的...
因为有可能OLEDB里找不到4.0这个版本 Microsoft.ACE.OLEDB.12.0这个是07的版本 后面的excel版本也是12 试试把链接字符串改成07的 07可以读03

c# asp.net的项目可以调用winform窗体吗?
可以使用js调用winform窗口提供的exe文件 var Exe = new ActiveXObject("WScript.Shell");\/\/调用IE自带的插件Exe.run("C:\\\\winform.exe", 1, true);\/\/启动winform的exe文件但是一般都不这么用,因为网页调用winform这个必须要要求每个客户端都有这个exe文件才能调用 ...

在asp.net里的C#后台调用dll时出现using缺失问题
[DLLImport("DLLtest")]错误是大小写不正确造成的。另外注意DLLtest---》DLLtest.dll 做程序一定要认真。不然以后你做出的东西,一点一个错误,谁还用?

ASP.net调用VC Com组件出错,提示服务器出现意外情况。 (异常来自 HRES...
如果你是因为robotstudio 软件来到了这里,请你一定要记住,robotstudio 软件出现这样的问题,一般是因为你的C盘robotstudio 的默认文件里被杀毒软件误认为木马删除了,你只需要关闭杀毒,卸载robotstudio ,把安装文件删除,再重装就行了,这时,你再打开杀毒软件如360安全卫士或者腾讯电脑管家,再杀毒里面把...

asp.net如何启动本地exe程序
因为ASP编程是解释执行的,而EXE是编译执行的,且各自所能实现的编程范围也差距甚远(ASP仅限网页有关的编程,而EXE可以实现计算机几乎全部的功能),所以你的问题的答案出来了:根本不能转换。要转换,自己写EXE吧!ASP.NET是个什么样的概念?ASP.net是一种建立在通用语言上的程序构架,能被用于一台...

asp.net(c#)中的ExecuteSql出错,急救~~~
DataBase应该是你引用的数据库管理类,但是里面没有ExecuteSql这个方法的定义,仔细检查一下你是否写错了,如果没有错,你可以根据你这个函数的要求,自己在DataBase类里面写一个ExecuteSql函数即可。

asp.net c#的一个初级问题(关于Page_Load的方法的使用)
1,不可以改的,因为它是装载页面时自动执行的.2..3..就不用回答了.可以通过URL参数传递参数到后端.如你上面的后台就能这样取值Request.QueryString["ExtensionName"] 值为 "Theva"

相似回答
大家正在搜