2010-05-11 93 views
0

我使用本地IIS我的本地XP專業版的電腦上VS2008 C#和測試,我已經寫了一個Web服務調用第三方軟件.exe文件使用svn checkout命令將數據插入到使用System.Diagnostics.Process.Start的文件夾中。當我使用VS2008內置ASP.NET開發服務器(http://localhost:2999/MyServices/MyServices.asmx)時,相同的代碼工作正常。但是當我使用IIS的普通URL(http://developer/MyServices/MyServices.asmx)在Web服務上運行Process.Start時,它只是縈繞在腦後,並沒有做任何事情.plz發送一個示例程序。System.Diagnostics.Process.Start不使用IIS,ASP.NET,但開發服務器上

回答

4

這是最有可能下降到用戶正在使用運行的代碼。在使用內置服務器時,它以Visual Studio運行時的相同用戶身份運行。在IIS中時,它將作爲MACHINENAME \ ASPNET用戶運行。

如果你開始不能執行作爲MACHINENAME \ ASPNET用戶的過程中,它不會在IIS託管,除非你改變你的配置,以改變它運行的用戶時工作。請參閱this頁面以獲取有關在IIS中使用什麼用戶的更多信息。

+0

謝謝你的回答, 但我改變了<身份冒充=「真」 />然後也贏得了它的工作。我不知道如何使用HttpContext Windows身份線程變量, 請用示例解釋它對我的謙虛請求。 – subbu 2010-05-12 04:26:29

+1

@subbu,你真的需要了解更多關於ASP.NET模擬的信息。如果現在匿名訪問爲您的Web應用程序啓用,則IUSR帳戶用於執行該exe文件,如果此exe文件需要更多權限,則當然會失敗。 – 2010-05-12 05:08:12

+0

那麼如何給予IUSR機器賬號更少的權限,現在我正在使用XP。 – subbu 2010-05-12 06:20:10

相關問題