IIS 中的 Web 应用程序访问需要凭据的远程文件共享的最佳方式?

Ray*_*ond 5 c# windows file-sharing unc remote-access

我有一个托管在 Windows Server 2008 R2 IIS 7.5 上的 Web 应用程序,需要访问另一台 Windows 计算机上的远程目录文件共享。我的网站在 User1 下运行,通过 UNC 路径访问远程文件共享需要 User2 的用户名/密码凭据。

在试图找到最好的方法来做到这一点时,我遇到了各种选择,但我并不真正理解其中的陷阱。

我们关心的问题之一是性能 - 我们不想打开/关闭或验证每个请求。到目前为止,我见过的许多解决方案都会在每次操作后处理连接。我认为我真正正在寻找的是一种持久映射网络驱动器的形式。

那么所有这些选项之间有什么区别呢?任何人都可以提供最佳实践是什么,以及示例代码(如果尚未在下面的帖子之一中提供)吗?

  1. 使用 WAddNetworkConnection2
  2. 使用 WAddNetworkConnection3
  3. 使用 WNetUseConnection
  4. 使用 NetUseAdd
  5. 启动命令 shell 并调用“net use”
  6. 冒充?
  7. 持久映射网络驱动器?但谁来创造这个呢?
  8. IIS 虚拟目录支持吗?

一些相关帖子:

使用凭据从远程、不受信任的域访问共享文件 (UNC)

使用用户名和密码连接到网络驱动器

连接到网络共享时如何提供用户名和密码

http://forums.asp.net/t/1915751.aspx?C+Access+Network+Drive+Without+mapping+with+credentials

谢谢你!