我正在使用Windows Server 2008和IIS 7.5 我試圖以這種方式訪問文件:\ server \ C $ \ temp \ testFile.log來自運行在另一臺服務器上的C#代碼。我無法從C#訪問unc路徑。訪問被拒絕
我的用戶名是兩臺服務器上的管理員。該代碼正在該帳戶下運行。臨時文件夾已被設置爲(我的用戶)和ASP.NET的完整權限。
爲什麼我無法訪問它?
我不能做一個共享文件夾;違反規則。我已經在充分考慮的情況下運行;因此,我不需要做假冒,對吧?
我正在使用Windows Server 2008和IIS 7.5 我試圖以這種方式訪問文件:\ server \ C $ \ temp \ testFile.log來自運行在另一臺服務器上的C#代碼。我無法從C#訪問unc路徑。訪問被拒絕
我的用戶名是兩臺服務器上的管理員。該代碼正在該帳戶下運行。臨時文件夾已被設置爲(我的用戶)和ASP.NET的完整權限。
爲什麼我無法訪問它?
我不能做一個共享文件夾;違反規則。我已經在充分考慮的情況下運行;因此,我不需要做假冒,對吧?
這是一個網絡應用程序?你確定該應用程序正在冒充你的帳戶嗎?在IIS中匿名訪問設置爲true?
你說過:你確定這個應用程序冒充你的賬戶嗎?是的,我嘗試了假冒,即使我不認爲我需要它,基於以下鏈接:http://support.microsoft.com/kb/306158#3。但是當我看到你的:「你確定,」它讓我重新訪問並碰到另一個鏈接,給了我正確的模仿:http://stackoverflow.com/questions/125341/how-do-you-do-impersonation-網內(檢查馬特約翰遜的答案)。他的解決方案像一個魅力! 所以你有種引導我正確的方向。謝謝! 注意:即使IIS匿名設置設置爲false,解決方案也能正常工作! – user1019042
太棒了!很高興我能在你得到你需要的解決方案中扮演一些角色(如果甚至非常小)。我只回答是因爲這兩件事情一次又一次地困擾着我。 – AnotherDeveloper
前段時間有這個問題。
爲了讓您的調試過程能夠以完全管理員權限運行,您必須以完全管理員權限打開Visual Studio。
在生產中,讓您的流程「以管理員身份運行」。
如果您沒有執行上述任何操作,您將不得不實施模擬。
這似乎是一個已知的問題。典型的解決方案使用WNetUseConnection。
見
但我的第一個猜測將是檢查FileIOPermission在Testing a UNC Path's 「Accessability」
它給了我一些問題。其他人則說這是遺留代碼。 – user1019042
討論當你說你正在使用的 '管理員' 賬戶上這兩臺機器,你是在談論本地機器管理員或域/架構/等管理員? –
你能訪問Windows資源管理器中的文件夾嗎? – Amy
我還想提一下,我可以訪問控制檯應用程序的路徑。 – user1019042