【问题标题】:2 SharePoint sites in a site collection responding to the same code differently2 网站集中的 SharePoint 网站对相同代码的响应不同
【发布时间】:2015-01-28 05:09:11
【问题描述】:

我正在开发一个 c# 应用程序以从 SharePoint 2010 目录下载文件(我认为文件列表是 sharepoint 的正确术语,但我只是选择了它并且不是 100% 确定。有人可以确认我有正确的术语?)

我有以下代码适用于使用Microsoft.Sharepoint.Client 的网站:

ClientContext context = new ClientContext(sourcePath.Site);
Web web = context.Web;
Folder spfolder = web.GetFolderByServerRelativeUrl(sourcePath.Folder);
FileCollection files = spfolder.Files;

context.Load(context.Web);
context.Load(spfolder);
context.Load(files);
context.ExecuteQuery();

foreach (File file in files)
{
    destfile = System.IO.Path.Combine(move.FileDest, file.Name);
    FileInformation f = File.OpenBinaryDirect(context, file.ServerRelativeUrl);

    using (var fileStream = new System.IO.FileStream(destfile, System.IO.FileMode.Create))
    {
        f.Stream.CopyTo(fileStream);
    }
}

问题是站点一 (http://server/sites/department1/site1) files 显示枚举中的文件并很好地复制它们。站点二((http://server/sites/department2/site2)文件枚举是空的(因为它是空的,所以没有文件被下载)

奇怪的是,当我查看站点 2 的 spfolder 时,ItemCount 是正确的(5 个,一个子文件夹和 4 个文件),所以我不确定发生了什么。

对于权限,我只在代码工作的站点一上阅读,在代码不起作用的站点二上阅读完全控制。

顺便说一句,其他开发人员向我展示了指向共享点目录 (\\site\folder) 的 UNC 路径,该路径有效,但比 CSOM 访问慢得多。不过,我仍然希望让 SharePoint 代码正常工作。

编辑:我的术语略有偏差,它们不是不同的网站,而是同一网站集中的 2 个不同的网站

【问题讨论】:

  • 我遇到了同样的问题。你想出解决方案了吗?如果有,能发一下吗?
  • @dotnetN00b 不幸的是我还没有找到解决方案。我仍然在业余时间致力于它。在我发现我可以使用 UNC 路径访问“文件夹”之后(不确定它是如何配置的,但它可以工作)我继续前进,直到它成为一个阻止程序。如果我弄清楚发生了什么,我会更新,因为我可以使用 CSOM 访问的网站的 UNC 访问速度要慢得多
  • 如果您能分享该代码,我将不胜感激。谢谢。
  • @dotnetN00b unc 路径是 sharepoint 2007 + 的功能,我确信一些谷歌搜索会得到启用它的答案。我只是一名开发人员,而不是共享点管理员。

标签: c# sharepoint sharepoint-2010


【解决方案1】:

您能否提供两个站点的 sourcePath.Site 和 sourcePath.Folder 值?

由于您具有完全访问权限,因此故障不会在于权限不足(缺少浏览目录)。我想问题是一个站点位于自己的域中,而另一个站点位于站点/站点名称中。但这只是猜测。

确保 sourcePath.Folder 的格式如下:

/[web]/[libraryName]/[folder]

[libraryName]/[folder]

【讨论】:

  • 它在一个网站集中的 2 个子网站(相同的根服务器)。在玩弄了文件夹的 URL 之后,我能够想出正确的路径。像问题所述,我可以取回我正在尝试查询的站点 2 中文件夹的元信息。
猜你喜欢
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 2015-10-31
  • 2021-02-03
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多