是否可以從Web應用程序訪問SharePoint 2010文檔庫?如果是這樣,那麼你能指出我在正確的方向嗎?從Web應用程序訪問SharePoint文檔庫?
我需要編寫一個應用程序,將允許文件版本控制,簽入/簽出,上傳/下載和搜索。
到目前爲止,我已經寫了一個基本的Windows窗體應用程序可以做所有前面提到的功能,但現在我需要從Web應用程序訪問它們。
是否可以從Web應用程序訪問SharePoint 2010文檔庫?如果是這樣,那麼你能指出我在正確的方向嗎?從Web應用程序訪問SharePoint文檔庫?
我需要編寫一個應用程序,將允許文件版本控制,簽入/簽出,上傳/下載和搜索。
到目前爲止,我已經寫了一個基本的Windows窗體應用程序可以做所有前面提到的功能,但現在我需要從Web應用程序訪問它們。
從Windows窗體應用程序,您可以使用託管客戶端對象模型訪問SharePoint文檔庫等請參閱此鏈接瞭解更多信息:您需要添加引用到Microsoft
http://msdn.microsoft.com/en-us/library/ee857094(v=office.14).aspx
感謝您的建議 –
我按照您的建議結束了使用客戶端對象模型。感謝您的幫助 –
第一.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,或者您可以模擬特定的用戶,但這不是一種好的做法。
更多技術詳情,請訪問:
聽起來好像他被要求就如何從非SharePoint Web應用程序訪問它,而你的解決辦法是從SharePoint Web應用程序訪問自己的文檔庫中的信息。 – skeletank
是的這個代碼是要在SharePoint門戶之外運行的。在其他情況下,它可能會被標記爲不理想。 –
'使用'塊加'處置'?這是一些腰帶和吊帶的東西。 –
首先,你應該檢查要暴露於web應用的內容。這個網絡應用程序是一個面向公衆的(通過互聯網)應用程序嗎?或者只會在內部使用。
當將僅在內部使用,我會確保在web應用可以訪問SharePoint的默認web服務,可以與該服務的幫助下查詢文檔庫。這種方法的例子,你可以在這裏找到:Using SharePoint Web Services to Explore Document Libraries
如果它是一個面向公衆的web服務,你應該檢查你需要多少功能。因爲這意味着您還必須將SharePoint服務公開到Internet。另一種選擇可能是編寫自己的服務來實現所需的功能,然後只公開該服務。這將降低您的安全風險,也許您可以重用您在Windows Forms應用程序中使用的一些代碼並將其移至該服務。
感謝您的鏈接...我會檢查出來。 –
有很多這取決於你是否想到這WinForm應用程序在所有SharePoint服務器本身或任何一臺計算機上運行。你在做什麼? –
最終目標是能夠通過身份驗證從任何計算機訪問庫。不過,我仍然在學習SharePoint,所以我們會提供任何建議。 –
也可以在網頁上顯示文檔庫的內容嗎?因爲這也解決了我的問題。 –