是否可以从Web应用程序访问SharePoint 2010文档库?如果是这样,那么你能指出我正确的方向吗?
我需要编写一个允许文档版本控制,签入/签出,下载/上传和搜索的应用程序。
到目前为止,我已经编写了一个基本的Windows窗体应用程序,它可以执行前面提到的所有功能,但现在我需要从Web应用程序访问它们。
答案 0 :(得分:3)
在Windows窗体应用程序中,您可以使用托管客户端对象模型来访问SharePoint文档库等。有关详细信息,请参阅此链接:
http://msdn.microsoft.com/en-us/library/ee857094(v=office.14).aspx
答案 1 :(得分:2)
首先,您应该检查要向Web应用程序公开的内容。这个Web应用程序是否面向公众(通过互联网)应用程序?或者仅在内部使用。
当它只在内部使用时,我会确保webapplication可以访问SharePoint的默认Web服务,并可以借助此服务查询文档库。您可以在此处找到此方法的示例:Using SharePoint Web Services to Explore Document Libraries
如果是面向公众的网络服务,您应该检查您需要多少功能。因为这意味着您还必须将SharePoint服务公开给Internet。另一种选择可能是编写自己的服务,实现所需的功能,然后公开该服务。这将降低您的安全风险,也许您可以重用Windows Forms应用程序中使用的一些代码并将其移至服务中。
答案 2 :(得分: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,或者您可以冒充特定用户,这不是一个好习惯。
有关更多技术细节,请访问: