所以,这样的事情应该工作(当我运行它与服务器名称变化的单元测试它)。你可能要检查
[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