C# ASP.NET Webservice調用外部exe無效的解決方法


最近用asp.net做webservice,其中有個功能是調用執行外部的exe(類似cmd中執行),但執行Process.Start之后就沒有結果,同樣代碼在winform下正常,折騰兩天終於找到解決方法

本文參考了以下網頁,十分感謝

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

http://blog.163.com/qiaoweipeng@126/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調用沒有命令行窗體,但通過 【任務管理器】 可以看到進程是運行着

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM