所以,這樣的事情應該工作(當我運行它與服務器名稱變化的單元測試它)。你可能要檢查
[TestMethod]
public void CheckUNCFileExists()
{
Assert.AreEqual(true, File.Exists("\\\\fileserver\\documents\\file.txt"));
Assert.AreEqual(true, File.Exists(@"\\fileserver\documents\file.txt"));
}
一件事是實際共享的名稱,使用文件服務器上的管理命令提示符(在我的情況下,它是「文件」共享):
如果路徑似乎沒問題(並且可以通過Windows資源管理器訪問它),則需要研究的另一件事是,您的Web應用程序的應用程序池標識(如果您正在使用類似Visual Studio的東西在桌面上進行調試,或者無論您的IIS管理員在Web服務器端配置了什麼)都可以讀取共享(用於Windows共享權限)和讀取權限(vi一個NTFS權限)在文件夾/文件上(同樣,根據你的管理員的偏執怎麼樣,你可能還需要在更高文件夾上「遍歷」權限)。
如果您無法通過Windows資源管理器訪問它,並且您使用的是管理共享(例如c $,d $等),則應該重新共享具有不同共享名稱的文件夾(因爲這樣會允許您更改權限以使其可讀/ IIS應用程序池標識)。如果你真的執意要使用管理共享名,你就必須修改管理共享的權限,並可能需要承擔這樣的事情:
http://support.microsoft.com/kb/971277
什麼是服務器基礎設施?他們是在同一個本地網絡上,還是他們是分開的網絡服務器,或者是什麼? – 2014-10-17 20:15:02
視頻服務器和Web服務器位於不同的服務器上,但位於同一網絡中。它適用於視頻播放器,但是,我試圖從本地機器進行編碼,並且可以直接訪問服務器。 – mattgcon 2014-10-17 20:16:45
因此,您可以使用samba,並使用Windows資源管理器中使用的相同路徑檢查文件。您的其他選項是在視頻服務器上創建一個用於檢查文件的Web服務。 – 2014-10-17 20:18:26