C# ASP.NET Webservice调用外部exe无效的解决方法

最近用asp.net做webservice,其中有个功能是调用执行外部的exe(类似cmd中执行),但执行Process.Start之后就没有结果,同样代码在winform下正常,折腾两天终于找到解决方法

本文参考了以下网页,十分感谢

http://bbs.csdn.net/topics/300053869

http://blog.163.com/[email protected]/blog/static/15737970200862331842368/

环境:win7 sp1 64位 以及IIS,vs2010 编译为x86程序

首先到 服务》IIS Admin Service(双击他)》登录》勾上【允许服务于桌面交互】

然后建立web程序,以【网站】方式建立,建网站后会自动建立对应的应用程序池

选中对应的【应用程序池】,点 【高级设置】,修改其中的【进程模型】》【标识】为 LocalSystem

然后把IIS,IIS Admin Service等重启,就ok了

PS:网上有的说设了 IIS Admin Service 就可以了,可能有些情况是可以的,大家注意一下

PS2:应用程序池的【标识】,如果LocalSystem不行,那就设【自定义账户】,账户用管理员账户(administrator)

PS3:这样执行后的效果可能会跟winform桌面程序执行的效果有点不同,例如我调用的exe程序,winform调用后运行时有个命令行窗体一直出现,而webservice调用没有命令行窗体,但通过 【任务管理器】 可以看到进程是运行着

C# ASP.NET Webservice调用外部exe无效的解决方法,布布扣,bubuko.com

时间: 2024-10-07 16:53:50

C# ASP.NET Webservice调用外部exe无效的解决方法的相关文章

windows下调用外部exe程序 SHELLEXECUTEINFO

本文主要介绍两种在windows下调用外部exe程序的方法: 1.使用SHELLEXECUTEINFO 和 ShellExecuteEx SHELLEXECUTEINFO 结构体的定义如下: 1 typedef struct _SHELLEXECUTEINFO { 2 DWORD cbSize; 3 ULONG fMask; 4 HWND hwnd; 5 LPCTSTR lpVerb; 6 LPCTSTR lpFile; 7 LPCTSTR lpParameters; 8 LPCTSTR lpD

c# 调用外部exe程序

c#调用外部exe程序,首先要 using System.Diagnostics; 然后开启一个新process System.Diagnostics.ProcessStartInfo p=null; System.Diagnostics.Process Proc; p = new ProcessStartInfo("nnnn.exe","参数"); p.WorkingDirectory = exepath;//设置此外部程序所在windows目录 p.Window

html网页调用本地exe程序的实现方法:

html网页调用本地exe程序的实现方法:1.新建注册表具体文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\hhtpexe] [HKEY_CLASSES_ROOT\hhtpexe\defaulticon ]@="C:\\Program Files\\DMEO\\MultimediaDispatch.exe"--exe程序的路径 [HKEY_CLASSES_ROOT\hhtpexe\shell] [HKEY_CLAS

system.ComponentModel.Win32Exception (0x80004005): 目录名无效。 解决方法

有时候我们需要在程序中调用 cmd.exe  执行一些命令 比如 我们会在程序写到 /// <summary> /// 执行Cmd命令 /// </summary> /// <param name="workingDirectory">要启动的进程的目录</param> /// <param name="command">要执行的命令</param> private void StartCmd(

android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效的解决方法

Android横竖屏幕切换时注意4.0以上配置configChanges要加上screenSize,要不还会调用onCreate(). <activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize"/> android4.0 禁止横竖屏切换使用 android:configChanges="orientati

js中style.display=&quot;&quot;无效的解决方法

本文实例讲述了js中style.display=""无效的解决方法.分享给大家供大家参考.具体解决方法如下: 一.问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多的操作,但如果我们style.display=""可能导致没有效果. 看下面一段代码: 复制代码代码如下: <style> #name {     display:none; }</style></head><body><div id=

IE下iframe height=&quot;100%&quot;无效的解决方法

IE7下iframe height="100%"无效的解决方法就是css如下写法: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml&q

vs2008【断点无效】解决方法

有时候,我们在用vs2008调试的时候,会出现断点无效.如下图: 第一反应,要看想一下是不是在debug下.如果在Release下,请参考我另篇文章 [怎么在Release下调试代码] 如果是在debug下: 1.检查工程配置是否设置正确. C++>General->Debug Information Format->Program Database (/Zi) C++>Optimization->Optimization->Disabled (/Od) Linker-

无法获得VMCI 驱动程序的版本: 句柄无效。解决方法

关闭虚拟机,找到安装路径,用记事本打开.vmx结尾的文件 找到vmci0.present = "TRUE" 把TRUE改为FALSE,保存,再次打开虚拟机,问题解决. 无法获得VMCI 驱动程序的版本: 句柄无效.解决方法