100分求解,如何在client端调用server端的一个程序

ms12345 2008-12-10 02:51:05
说明如下,client端点击按钮后,server端运行他的一个程序,然后将运行结果在client端显示

Process process = new Process();
process.StartInfo.FileName = "C:\\Inetpub\\wwwroot\\test.exe"; //不知道该怎么写服务器端的路径,老是找不到文件!
process.StartInfo.Arguments = "k";
#if DEBUG
process.StartInfo.CreateNoWindow = false; //false 是显示窗口吧
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
#else
process.StartInfo.CreateNoWindow = false;
#endif

bool bl = process.Start();
if(bl)
Response.Write("\t true"); //有时,返回true,但是窗口并没有出来啊,怎么回事
else
Response.Write("\t false");
return;
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshine_anycall 2008-12-10
  • 打赏
  • 举报
回复
要运行的程序最好是用已知的
比如notepad这个,来测试
sunshine_anycall 2008-12-10
  • 打赏
  • 举报
回复
        try
{
Process process = new Process();
process.StartInfo.FileName = "C:\\Inetpub\\wwwroot\\test.exe"; //不知道该怎么写服务器端的路径,老是找不到文件!
process.StartInfo.Arguments = "k";
#if DEBUG
process.StartInfo.CreateNoWindow = false; //false 是显示窗口吧
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
#else
process.StartInfo.CreateNoWindow = false;
#endif

process.Start();

ClientScript.RegisterStartUpScript(this.GetType(), "k", "alert('OK');", true);
}
catch (Exception)
{
ClientScript.RegisterStartUpScript(this.GetType(), "k", "alert('BAD');", true);
}
che2piaopiao 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhoufoxcn 的回复:]
用Server.MapPath()获取文件在服务器端的物理路径。


Asp.net夜话之二:asp.net内置对象
准确地说,asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。本文介绍System.Web.U…
[/Quote]

Mark~~~
xiaoyuzi 2008-12-10
  • 打赏
  • 举报
回复
Process process = new Process();
process.StartInfo.FileName = "C:\\Inetpub\\wwwroot\\test.exe"; //不知道该怎么写服务器端的路径,老是找不到文件!
// 如果test.exe是固定路径的话,这么些是可以执行的,要确保asp.net用户有执行程序的权限。但是一般都是用Server.MapPath()通过相对路径来取得其物理路径
process.StartInfo.Arguments = "k";
#if DEBUG
process.StartInfo.CreateNoWindow = false; //false 是显示窗口吧
//这种调用只是在服务器端运行程序,如果test.exe是有windows的程序的话,他会在服务器端显示出来。
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
#else
process.StartInfo.CreateNoWindow = false;
#endif

bool bl = process.Start();
if(bl)
Response.Write("\t true"); //有时,返回true,但是窗口并没有出来啊,怎么回事
//窗口只是在服务器端出现,客户端是不会看到的
else
Response.Write("\t false");
return;
wuyq11 2008-12-10
  • 打赏
  • 举报
回复
通过webservices和remoting实现
参考
http://www.cnblogs.com/stmoon2008/archive/2008/10/15/1311780.html
「已注销」 2008-12-10
  • 打赏
  • 举报
回复
Response.Write("\t true");能弹出窗口?没搞明白?
周公 2008-12-10
  • 打赏
  • 举报
回复
用Server.MapPath()获取文件在服务器端的物理路径。


Asp.net夜话之二:asp.net内置对象
准确地说,asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。本文介绍System.Web.UI.Page类的几个常用属性,如Request、Response、Server、Session、Cookie、Application,并讲述了及表达式用法。
小_虎 2008-12-10
  • 打赏
  • 举报
回复
可以吗?
webservice?应该不是...
看看

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧