|
SharePoint 2010可以與Silverlight實現緊密集成。不管是在瀏覽器中運行的Silverlight程序還是單獨的一個Silverlight程序,都能與SharePoint 2010實現很好的整合。本文中我們將實現一個Silverlight和SharePoint高度整合的例子,通過SharePoint 2010客戶端對象模型訪問SharePoint任務列表。同時,我們還將學習如何通過SharePoint自帶的Silverlight Web部件來宿主Silverlight應用。下圖是根據我個人的理解繪制的Silverlight和SharePoint 2010應用整合示意圖。
從上圖我們可以看到,我們分別有SharePoint客戶端對象模型(OM)和SharePoint Web服務兩種API供 Silverlight應用程序調用。 事實上客戶端對象模型和服務這兩條途徑,不僅僅能用在Silverlight中,還可以用于其它的客戶端應用程序中。
在開始編寫應用程序之前,我們首先了解一下Silverlight和SharePoint之間不同類型的集成模型。我們可以簡單的通過HTML以IFrame的方式顯示Silverlight應用程序,也可以將Silverlight應用程序宿主在Web部件中,還可以 調用SharePoint對象模型或服務。這些方式彼此之間并沒有硬性的分類界限。只是人為的通過使用規模所做的一個區分。 分類如下:
1. 無接觸 :通過無接觸方式,可以直接把現有的Silverlight應用集成到SharePoint。 目的只是在SharePoint中進行顯示。直接使用iframe即可。
2.低接觸 :低接觸的應用與SharePoint間的互動多了一點。但也僅僅是通過SharePoint 開箱即用的Silverlight Web部件對Silverlight應用進行裝載而已。 這個應用程序本身是一個獨立的應用程序,它可能會調用一些除SharePoint API以外的其他服務。
之前我的一篇博文中,曾討論過一個典型的低接觸的例子。是關于SharePoint2010整合Silverlight 4應用——Bing地圖控件
3.高接觸:高接觸整合是指利用到SharePoint客戶端對象模型或Web服務來讀寫SharePoint Server信息的應用整合。 應用程序本身可以是一個WPF應用程序,或者是像Silverlight這樣的客戶端應用程序,或者是ASP.NET 、JavaScript應用程序。下圖為一個Silverlight客戶端應用程序的高接觸整合。
接下來,我們要實現一個Silverlight與SharePoint高接觸的應用,通過Silverlight調用客戶端對象模型。會對使用客戶端對象模型的三種場景都進行描述:
1. 在瀏覽器中運行的Silverlight應用程序
2. 在瀏覽器外運行的(Out of Browser,簡稱OOB)Silverlight應用程序
3. 作為Silverlight XAP文件宿主在SharePoint Web部件中的Silverlight應用程序
首先,我們需要創建一個Silverlight應用程序, 打開Visual Studio 2010>“新建” >“項目” 。 選擇Silverlight項目模板,并選擇.NET Framework 4.0。將該項目命名為“SilverlightSPIntegration”。
點擊“確定”按鈕后,會彈一個窗口要求自動創建一個Web應用程序,Silverlight應用程序將自動宿主在該Web應用程序中 。
下一步我們要做的就是編寫Silverlight程序來調用客戶端對象模型的API 。 右擊Silverlight解決方案,選擇“添加引用”
這里我們需要添加“Microsoft.SharePoint.Client.Silverlight.dll”和“Microsoft.SharePoint.Client.Silverlight.Runtime.dll”這兩個dll。他們位于"C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/LAYOUTS/ClientBin"文件夾下。
引用添加完成后,整個Silverlight應用程序的文件夾結構如下:
接下來,我們要對Silverlight的XAML進行設計,實現SharePoint網站中的某些功能。如上所述,在本例中,我們會從SharePoint內置的任務列表中讀取一些數據 。因此,我們不妨先參考一下SharePoint默認的界面。打開SharePoint網站,從快速啟動區中找到“任務”列表并點擊它。
這是默認的SharePoint任務列表。 當然你也可以使用任意的列表,甚至是自定義列表。 只需要根據實際的設計修改對應的用戶界面和代碼即可。現在,為該任務列表輸入一些虛擬的數據。
下面是我為的任務列表添加的一些虛擬數據。
至此,我們完成了SharePoint部分的工作。 接下來我們要創建一個自定義的UI,用Silverlight來顯示這些數據。 界面比較簡陋,只是為了說明兩者是如何實現整合的。
返回Visual Studio,在Silverlight解決方案中,設計一些簡單的XAML界面。
為了快速設置樣式,我用Expression Blend對界面做了一點美化工作。
保存該Expression Blend項目,并在Visual Studio中從我們的Silverlight應用程序中打開。它會要求重新加載應用程序,因為內容在當前環境外被修改了。
以下是Silverlight用戶界面的XAML代碼:
<!--
<Setter Property="MinWidth" Value="150" />
<Setter Property="MaxWidth" Value="150" />
<Setter Property="HorizontalAlignment" Value="Left" />
-->
<!--
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="Foreground" Value="Orange" />
-->
NET技術:SharePoint 2010 整合Silverlight 4應用 - 任務管理,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。