2010-04-24 18 views
0

我正在開發一個遠程控制應用程序,客戶端(瀏覽器中的aspx頁面)可以請求服務器「啓動記事本」(用於測試目的,生活,關燈泡等)。所以我用一個簡單的函數創建了一個dll,用於啓動記事本(在服務器端),並將此dll放入根bin文件夾中。在ASP.Net中執行dll函數Bin不起作用,II7

aspx頁面運行在ASP.NET開發服務器(從Visual Studio啓動)下運行良好。但是,當我在FireFox瀏覽器下測試相同的aspx頁面時,即使它調用了相同的函數(我在調試器中進行了操作),它也不起作用(啓動記事本)。

這是一個權限問題嗎?我如何在IIS管理器中設置它,或者在web.config中更好?

請幫忙。

+0

嗨,你解決了你的問題?我陷入了同樣的事情。 – BrOSs 2013-08-26 21:58:53

回答

2

是的,這聽起來像是一個權限問題。

您的站點正在運行的IIS 7中的應用程序池可能使用默認標識,這是最具限制性的。您可以通過右鍵單擊應用程序池(可能稱爲DefaultAppPool)並選擇高級設置來更改IIS管理器中的身份。從那裏將標識值更改爲本地服務或網絡服務。如果這兩者都不起作用,則使本地系統應該允許您的頁面正常工作。

我假設Visual Studio集成的Web服務器在您在計算機上登錄的帳戶的上下文中運行,該帳戶可能擁有更多權限。

+0

謝謝克里斯。你的建議給了我一個很好的方向。我通過將defaultAppPool設置爲LocalSystem Identity來做到了你的建議,並且驗證了該網站確實在defaultAppPool下運行了 。 但是,它仍然沒有啓動記事本。有沒有什麼我應該做的盛大ASP.NET正確,因爲我想運行一個DLL應該由ASP.NET處理? – 2010-04-28 17:35:06

+1

接下來要做的事情是嘗試確定它是否仍然是許可問題或測試方法。我假設你嘗試啓動記事本,因爲它是一個可見的指示,表明你的「燈開關」代碼工作。我會用啓動記事本的代碼替換其他能夠顯示它的代碼,但不會與桌面交互或嘗試使用可見的UI啓動程序。 也許您可以嘗試寫入其中一個Windows事件日誌,或者寫入站點根目錄中的文本文件。如果您可以成功完成這兩件事中的一件,那麼權限不再是問題。 – 2010-04-29 20:43:24

0

當你說:

沒有工作(啓動記事本)

您是不是要找它通過一個異常,或者你沒有看到一個記事本窗口中打開。如果這是一個權限問題,我希望你會得到一個異常。克里斯是正確的,他說,當上:

在IIS 7應用程序池 您的網站使用的是默認的身份,這是 最嚴格的下運行可能是 。

我想在Visual Studio的 你與 機器,它可能有很多 更多的權限登錄帳戶的環境下集成 運行Web服務器。

如果這是一個權限問題,他是對的。但是,您運行的用戶(不在Visual Studio中調試時)很可能無法訪問登錄用戶的桌面。也許你應該使用不需要與桌面交互的應用程序進行測試。

+0

謝謝你的迴應。該代碼執行沒有錯誤,但記事本沒有啓動。此代碼的目標是讓服務器計算機運行從客戶端請求的dll。我的目標是打開和關閉像電燈開關這樣的硬件設備。 – 2010-04-28 17:43:09