2012-07-06 74 views
0

我試圖在我的服務器windows server2008上編寫一個web服務來調用我的服務器上的某些應用程序。我用system.diagnostics.process類來調用exe文件。它在服務器本身上工作正常,但是當我通過不同的PC使用web服務時,出現錯誤消息,這是指定的文件未找到。但是當我剛啓動cmd.exe時,它也可以正常工作。據我瞭解,我有權訪問服務器,我至少可以運行cmd.exe。但是當涉及到調用不同的exe文件時,它不起作用。我還有另一個線索,當我遠程運行cmd.exe時,它會運行,並且我試圖遠程殺死它,然後它給我提供錯誤「拒絕訪問」。使用webservice調用應用程序

我不熟悉這種服務器訪問權限作業。因此我需要一些幫助。 任何幫助,將不勝感激:)

回答

0

您需要確保IIS中的應用程序池作爲有權執行該服務器上的可執行文件的權限的用戶運行。

只是一個警告(如您所知):如果您將這些服務暴露在任何地方,這是一個巨大的安全風險。打開一個服務來運行應用程序可能是有風險的,所以我會確保沒有其他方法來完成你想要完成的任務。

+0

所以你說我應該開放一個服務來運行應用程序,就像我之前做的一樣,但是將該應用程序分配給具有必要權限的用戶,但是在給予這些權限時我應該特別小心。我是否正確?如果是的話,這樣做的方式是什麼?你能請至少給我一些線索,開始研究它:)) – 2012-07-06 22:25:15

+0

正確。如果此Web服務託管在IIS中,請查看應用程序正在使用的App Pool配置。在那裏你可以指定進程運行的用戶,並且這應該是在服務器上具有必要權限的用戶。在這裏尋找更多的信息:http://technet.microsoft.com/en-us/library/cc771170(v=ws.10).aspx。 – 2012-07-06 22:28:33

+0

我已經看過這些頁面。我明白我正在處理的是什麼。我創建了一個新的應用程序池,將我的Web分配給我的Web服務,並將其作爲標識分配給管理員。在此之前,我無法啓動一些應用程序,但現在他們都開始了。但不幸的是,他們仍然沒有任何用戶界面:/我找到它,並且人們建議在管理工具 - >服務中啓用「允許服務與桌面交互」複選框。但我似乎沒有找到我自己的網絡服務或IIS管理員。任何想法? – 2012-07-09 11:47:16

相關問題