2012-03-01 69 views
0

找到路徑I聲明爲遵循一個DirectoryInfo變量:當我運行從本地主機,但假的我的網站,當我發佈並上傳DirectoryInfo的只有從本地主機

DirectoryInfo rootDirectory = new DirectoryInfo(@"\\server01\Shared\Saved Stuff\"); 

下面的代碼返回true。

bool doesItExist = rootDirectory.Exists; 

我不相信(其實我相信)這是一個安全的權限問題,因爲我給實體「每個人」完全訪問目標文件夾。任何人都知道爲什麼會發生這種情況,而且只能在現場進行?僅供參考,當我遠程桌面到server01並鍵入上面的路徑時,我可以毫無問題地訪問它,就像我可以從本地機器上訪問一樣。

+0

@Convinced - 請注意,「每個人」不包括「匿名」 - [更多信息](http://technet.microsoft.com/en-us/library/cc772745.aspx) – Jed 2012-03-01 00:40:13

回答

0

試試這個

DirectoryInfo rootDirectory = new DirectoryInfo(HttpContext.Current.Server.MapPath(@"\\server01\Shared\Saved Stuff\")); 
+0

謝謝!想知道你是否可以幫忙http://stackoverflow.com/questions/9509022/publishing-asp-net-application-to-the-internet#comment12043101_9509022 – 2012-03-01 02:36:59

+0

沒有,不幸的是返回一個不正確的C:\ inetpub \ wwwroot \ server01 \ Shared \ Saved Stuff \ – Lukas 2012-03-01 16:11:44

2

假設你正在使用Windows身份驗證您的網站...

最有可能你正在運行到「NTLM一跳」 - 證書從其他機器傳遞到服務器不會被重用來訪問第三臺機器,並且結果\ server01 \共享正在被未經身份驗證的用戶訪問。

確認 - 嘗試在部署代碼的服務器上使用瀏覽器以導航到使用此代碼的頁面。

+0

感謝您的回答!你能幫我這個請http://stackoverflow.com/questions/9509022/publishing-asp-net-application-to-the-internet – 2012-03-01 01:02:02

+0

這是奇怪的部分。我可以輕鬆地從我編碼的機器導航到機器,甚至是承載實際網站的文件夾。坦率地說,我不認爲應該有這種行爲的原因,但它是在那裏。你似乎已經幫助了你的答案,所以你會得到一個點。 – Lukas 2012-03-01 16:02:28