2011-08-01 97 views
0

我想知道是否可以對SharePoint Server的最佳實踐和Visual Studio結構有所瞭解。我的意思是,我有幾個共享點形式的應用程序項目,他們的項目中都有幾個標籤或頁面(管理頁面,查看記錄頁面等),並且都在同一個盛大的「Intranet」公司項目下。我看到很多教程和其他網站似乎都在獨立的解決方案中製作所有的Web部件,而不是。我有三個問題:解決方案的SharePoint最佳實踐

1.)表單項目的每個「部分」是否應該位於不同的webparts或同一個項目中?我會認爲後者,因爲如果它在另一個項目中,在運行時就很難控制。

2.)其他形式的同一個主Intranet項目,但在他們自己的Visual Studio項目中使用相同的解決方案嗎?或不同的。

3.)類庫...它們是否與WPF或ASP.net一樣?

回答

1

那它真的取決於你的要求。大多數情況下,我只是使用WebPart作爲包裝來動態加載我的UserControls(它們在不同的項目中,但在相同的解決方案中)。如果你需要更多的「靜態」,我建議使用應用程序頁面而不是WebPart。

我會嘗試用一個例子來解釋一下:

比方說,你想創建一個解決方案,幫助您的項目經理做他們的工作(哈哈:-)。你會稱這個應用程序像「PM應用程序」。它由三部分組成:問題跟蹤器,時間跟蹤器和報告應用程序。

顯然,第一步是創建一個名爲「PM應用程序」的空白解決方案。由於該解決方案的所有三個部分都有相同之處,例如記錄器組件或DataAccessLayer,您將創建一個名爲「Common」的新項目。

然後它真的取決於您的解決方案設計。比方說,我們去一個WebPart/UserControl解決方案。您創建一個名爲「SP PM」的新項目,這是一個SharePoint項目(實際上,我還沒有找到適合此項目的名稱)。然後,爲解決方案的每個部分創建WebPart(IssueTrackerWebPart等)。現在,如果每個WebPart只有一個UserControl,那麼容易。 WebPart基本上充當您的UserControls的包裝。

如果你(想)有多個用戶控件,它會變得非常棘手。我總是最終創建一個名爲「UserControls」的新ASP.NET WebApplication項目,並在那裏添加我的UserControls。這樣做的問題是引用「SP PM」項目中的UserControls。 引用dll的沒有問題,另一方面引用.ascx文件是。

我所做的是將我的「UserControls」項目中的.ascx文件複製到帶有後期構建腳本的「SP PM」項目中。我知道這絕對不是最好的解決方案,但是我已經和其他許多開發者討論過這個問題,但是到現在爲止還沒有人找到更好的解決方案。

這是SharePoint環境中的一個非常棘手的問題(就像其他任何其他實際情況一樣),並且據我所知沒有任何最佳實踐。最好的做法是與你的開發人員一起坐下來,問他們如何創建解決方案/項目結構,然後找到一個好的中間路線。

tl;博士沒有「通用」的方式 - 真的取決於您的要求。

我趕緊把解決togther如何,我認爲它應該是:

solution explorer

希望這是任何意義上的你,隨時問,如果您有任何進一步的問題。另外我想聽聽一些關於其他人如何解決這些問題的意見:-)

+0

當然。 2.)我認爲這種方式與你對#1的回答一致。我試圖從維護和部署的角度來決定什麼是最好的。如果我有application1(這是一個帶有字段的表單,人們將它們填寫出來然後發送給電子郵件)和application2,這是一個人們可以訪問的數據電子表格。這兩個不同的WebParts,不同的用戶控件,不同的項目?我認爲我迷失於Web部件和用戶控件之間的命名和概念區別。另外,在一個特定項目中是否應該有多個webpart? – gcoleman0828

+0

#3就像數據訪問層一樣。在哪裏可以說我做了一個Messenger類。所有這個類都處理電子郵件請求。我不想重複我的努力並將其複製到每個Web部件項目中。我寧願有一個擁有所有泛型類的庫,並讓我的webparts引用它們。這是否更有意義?如果是這樣,我該怎麼做,你有什麼教程如何做到這一點。我們在前些日子嘗試過,並試圖訪問該庫時出現各種錯誤。 – gcoleman0828

+0

我已經更新了我的答案 – int32

相關問題