1

是否可以从 Web 应用程序访问 SharePoint 2010 文档库?如果是这样,那么你能指出我正确的方向吗?

我需要编写一个允许文档版本控制、签入/签出、下载/上传和搜索的应用程序。

到目前为止,我已经编写了一个基本的 Windows 窗体应用程序,它可以完成前面提到的所有功能,但现在我需要从 Web 应用程序访问它们。

4

3 回答 3

3

从 Windows 窗体应用程序中,您可以使用托管客户端对象模型访问 SharePoint 文档库等。有关详细信息,请参阅此链接:

http://msdn.microsoft.com/en-us/library/ee857094(v=office.14).aspx

于 2012-12-05T17:30:17.707 回答
2

首先,您应该检查要向 Web 应用程序公开的内容。这个 Web 应用程序会是面向公众(通过 Internet)的应用程序吗?还是仅在内部使用。

当它只在内部使用时,我会确保 web 应用程序可以访问 SharePoint 的默认 web 服务,并可以在此服务的帮助下查询文档库。您可以在此处找到此方法的示例:使用 SharePoint Web Services 浏览文档库

如果它是面向公众的 Web 服务,您应该检查您需要多少功能。因为这意味着您还必须向 Internet 公开您的 SharePoint 服务。另一种选择可能是编写自己的服务来实现所需的功能,然后公开该服务。这将降低您的安全风险,也许您可​​以重用您在 Windows 窗体应用程序中使用的一些代码并将其移动到服务中。

于 2012-12-05T23:37:57.590 回答
1

首先,您需要添加对 Microsoft.SharePoint.dll 的引用。

以下是如何访问文档库中的项目的示例代码:

        using (SPSite site = new SPSite("SiteUrl"))
        {
            using (SPWeb web = site.OpenWeb())
            {
                web.AllowUnsafeUpdates = true;
                //documentCategories is list of doc library names on SPSite, so catName  could be something like "Invoices"
                foreach (string catName in documentCategories)
                {
                    SPFolder folder = GetFolder(web, catName, processInstanceId, false);
                    if (folder.Exists)
                    {
                        //handle specific document...
                        foreach (SPFile file in folder.Files)
                        {

                        }
                    }
                }
                web.Close();
            }
            site.Close();
        }

好吧,这只是让您入门的基础。请注意,您必须在网页中启用 Windows 身份验证和模拟才能使用实际用户凭据访问 SPSite,或者您可以模拟特定用户,这不是一个好习惯。

更多技术细节请访问:

网站

SPWeb

SP文件

于 2012-12-05T17:43:55.700 回答