我有一个问题希望有人可以帮助我。
我创建了一个自定义操作页面,其中我将扫描远程服务器上的目录以查找一组目录,并在这些目录中搜索一组文件。但是,当我在生产服务器上执行代码时,我得到一个拒绝访问异常。如果我在我的测试服务器上使用相同的代码(访问相同的远程服务器)它工作得很好。
如果我在生产服务器上使用 powershell 或 explorer,我可以毫无问题地访问远程目录和文件。
我在所有情况下都使用相同的帐户(如果我打印出 Page.User.Identity.Name 和 SPContext.Current.Web.CurrentUser.LoginName 它们是相同的并且等于我在测试服务器上使用的帐户和我从命令行或资源管理器访问远程服务器时,我在生产服务器上登录)。
代码如下所示:
string user = SPContext.Current.Web.CurrentUser.LoginName.Remove(0,7);
string user_path = "\\\\srv\\share1\\subdir\\dir\\" + user;
// The line below will raise an exception on the production server.
foreach (string board_path in Directory.GetDirectories(user_path, "Board*")) {
foreach (string board_file in Directory.GetFiles(board_path, "Board*.xml")) {
.
.
}
}
我无法弄清楚为什么代码在测试服务器上运行而不是在生产机器上运行。我正在使用 SharePoint 2010 标准版。
提前感谢我能得到的任何帮助。
/弗雷德里克