【问题标题】:How to access sharepoint data using C#?如何使用 C# 访问共享点数据?
【发布时间】:2009-11-14 06:42:55
【问题描述】:

我正在做一个项目,我必须在 C# 中访问 SharePoint 数据。

我以前从未这样做过;并有以下问题?

如何从 C# 访问 SharePoint 数据?我使用什么 API?是否有任何教程可以帮助我入门?

【问题讨论】:

    标签: c# .net sharepoint sharepoint-2007 moss


    【解决方案1】:

    您可以通过两种方式访问​​ Sharepoint 数据:

    1. 通过使用 Microsoft.Sharepoint.dll 在这种情况下,您需要在同一台机器(Windows 服务器)上进行编码。

    2. 第二种方法是使用 Sharepoint Web 服务。 这将允许开发人员在不同的机器上进行开发工作。

    【讨论】:

    • 3.现在有一个客户端 api(对象模型)。它被描述为here
    【解决方案2】:

    SDK 是一个很好的起点。问题的真正症结在于您是编写将存在于 SharePoint 环境中的代码,还是编写将在外部应用程序中使用 SharePoint 数据的代码。

    对于前者,SharePoint 有自己的 API,您只需引用适当的 DLL 即可访问。

    对于后者,SharePoint 附带一组 Web 服务,允许外部应用程序使用其数据。这些或一组自定义服务(在 SharePoint 环境中运行)将成为您进入 SharePoint 的入口点。

    【讨论】:

      【解决方案3】:

      这是您在 PowerShell 中的操作方式,与您在 C# 中的操作方式非常相似:

      # Lets reference the assembly / GAC that we need for this
      function getUsers
      {
          param ([string] $verify_sitepath="https://extranet.something.com")
          $verify_site=new-object Microsoft.SharePoint.SPSite($verify_sitepath)
              $verify_web=$verify_site.Rootweb
          $verify_web.site.url
          $verify_groups = $verify_web.groups | ? {$_.Name -match "^.*$CurrentGroup" }
          foreach($verify_group in $verify_groups)
          {
              foreach($verify_user in $verify_group.users)
              {
                  $verify_user = $verify_user -replace "WRKGRP\\",""
                  Write-Output "$verify_user" | Out-File -filepath "$splist$currentGroup.txt" -append
              }
          }
      }
      

      这样做是从 SharePoint 获取文本文件中的所有用户。希望这至少能让您思考 SharePoint 的设置方式。

      一个很好的资源是具有所有功能的 MSDN 页面。他们提供了大量的 C# 编程示例!

      【讨论】:

        【解决方案4】:

        Sharepoint SDK page 开始。下载 SDK,查看 MSDN 上的示例代码。

        后来添加:根据 MS 的说法,this 是一个更好的站点,可以处理与 Sharepoint 开发相关的所有事情。

        【讨论】:

        • 这与 VS 扩展有什么关系?包括在内吗?
        • 不,他们不是。我在原始帖子中添加了另一个链接,其中包含用于 Sharepoint 开发的权威站点。您可以从那里找到更多信息并下载 Sharepoint 的 VS 扩展。
        【解决方案5】:

        您必须为共享点安装VS 2005 or VS 2008 extensions。在 xp 上安装它们可能会很棘手,this page 应该会帮助你。

        【讨论】:

        • AFAIK 不包括在内。与此相关的 SDK 系统要求。
        • 您不需要用于 SharePoint 的 Visual Studio 扩展来开始针对 SharePoint API 进行编码。扩展仅作为打包工具存在,并且做得很差。这对于 SharePoint/Visual Studio 2010 来说正在变得越来越好,但目前用于构建 SharePoint 可部署项的第 3 方替代方案(流行的是 WSPBuilder 和 STSDEV)仍处于 Microsoft 产品之上。
        【解决方案6】:

        您还应该知道 CAML Query 从共享点列表中查询数据
        你可以利用这样的工具http://www.u2u.be/Res/Tools/CamlQueryBuilder.aspx

        【讨论】:

          【解决方案7】:

          在我看来,您应该使用开箱即用的 SharePoint Web 服务。当您可以仅与 Web 服务交谈时,没有理由必须学习整个 SharePoint API。

          这个primer on InfoQ 不错,但是在 SharePoint Web Services 上搜索一下,你会发现很多资源

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-04-10
            相关资源
            最近更新 更多