2012-12-05 21 views
1

是否可以從Web應用程序訪問SharePoint 2010文檔庫?如果是這樣,那麼你能指出我在正確的方向嗎?從Web應用程序訪問SharePoint文檔庫?

我需要編寫一個應用程序,將允許文件版本控制,簽入/簽出,上傳/下載和搜索。

到目前爲止,我已經寫了一個基本的Windows窗體應用程序可以做所有前面提到的功能,但現在我需要從Web應用程序訪問它們。

+0

有很多這取決於你是否想到這WinForm應用程序在所有SharePoint服務器本身或任何一臺計算機上運行。你在做什麼? –

+0

最終目標是能夠通過身份驗證從任何計算機訪問庫。不過,我仍然在學習SharePoint,所以我們會提供任何建議。 –

+0

也可以在網頁上顯示文檔庫的內容嗎?因爲這也解決了我的問題。 –

回答

3

從Windows窗體應用程序,您可以使用託管客戶端對象模型訪問SharePoint文檔庫等請參閱此鏈接瞭解更多信息:您需要添加引用到Microsoft

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

+0

感謝您的建議 –

+0

我按照您的建議結束了使用客戶端對象模型。感謝您的幫助 –

1

第一.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,或者您可以模擬特定的用戶,但這不是一種好的做法。

更多技術詳情,請訪問:

SPSite

SPWeb

SPFile

+0

聽起來好像他被要求就如何從非SharePoint Web應用程序訪問它,而你的解決辦法是從SharePoint Web應用程序訪問自己的文檔庫中的信息。 – skeletank

+0

是的這個代碼是要在SharePoint門戶之外運行的。在其他情況下,它可能會被標記爲不理想。 –

+1

'使用'塊加'處置'?這是一些腰帶和吊帶的東西。 –

2

首先,你應該檢查要暴露於web應用的內容。這個網絡應用程序是一個面向公衆的(通過互聯網)應用程序嗎?或者只會在內部使用。

當將僅在內部使用,我會確保在web應用可以訪問SharePoint的默認web服務,可以與該服務的幫助下查詢文檔庫。這種方法的例子,你可以在這裏找到:Using SharePoint Web Services to Explore Document Libraries

如果它是一個面向公衆的web服務,你應該檢查你需要多少功能。因爲這意味着您還必須將SharePoint服務公開到Internet。另一種選擇可能是編寫自己的服務來實現所需的功能,然後只公開該服務。這將降低您的安全風險,也許您可​​以重用您在Windows Forms應用程序中使用的一些代碼並將其移至該服務。

+0

感謝您的鏈接...我會檢查出來。 –

相關問題