本文將舉例說明如何在wssv3中創建一個Filter consumer WebPart 來顯示頭條新聞。這些頭條新聞內容依賴于地理區域的篩選提供者WebPart中用戶的選擇。頭條新聞WebPart將通過調用Microsoft Excel Services從一個Excel工作簿中得到。
下面是創建filter consumer WebPart的五大步驟
在Visual Studio 2005中創建一個web control library項目。
添加到Microsoft.SharePoint.dll的引用。
設置assembly的版本號。
為assembly添加強命名。
編寫頭條新聞filter consumer webpart的代碼。
在Visual Studio 2005中創建一個web control library項目
創建一個filter consumer WebPart最簡單的方式是套用Visual Studio 2005的自定義Web控件模板。
下面是創建的步驟:
文件->新建->項目,出現新建項目對話框。
在項目類型中,選擇C#,選擇Windows類別。
在模板選擇中,選擇web控件庫。
為項目指定一個名稱NewsHeadlinesWebPart 。
指定保存的位置,確定?,F在,項目中包含一個名為WebCustomControl1.cs的代碼文件。
在解決方案瀏覽器中右擊該文件,選重名名。將該文件重命名為NewsHeadlinesWebPart.cs。
添加必要的程序集的引用
我們將要編寫的頭條新聞篩選消費者WebPart是要從Microsoft.SharePoint.WebPartPages.WebPart類繼承而來。因此,必須添加Windows SharePoint Services的程序集;由于使用到了Excel Services,還要引用Excel Services的程序集,以便允許使用其中的類。
下面的步驟是展示了如何直接連接到Excel Web Serivces庫。之所以如此是因為頭條新聞WebPart運行域SharePoint環境中,這與使用SOAP通過HTTP訪問Web service的方式不同。在我們的這種場景下直接連接可以提供更高的性能和安全性,并允許我們的頭條新文WebPart可以工作在所有的SharePoint拓撲結構下。而當我們創建獨立的Web應用程序(Web應用程序并不運行在SharePoint中)時,實際上是真正用到Web service的接口。關于何時選擇使用SOAP方式通過HTTP訪問,何時直接連接到Excel Web Services DLL,您可以參考這篇MOSS SDK文章:Loop-back SOAP Calls and Direct Linking
如果Visual Studio運行在office SharePoint Server 2007服務器上,請以下面的步驟進行引用:
項目->添加引用,出現添加引用對話框。
點擊.NET標簽,選擇Excel Web Service 組件(Microsoft.office.Excel.Server.WebServics.dll)。接著向下滾動,找到Windows SharePoint Services組件(Microsoft.SharePoint.dll),按住Ctrl鍵,再選擇。
確定,完成引用的添加。
如果Visual Studio與office SharePoint Server 2007不在同一臺機器上,我們需要從一臺裝有office SharePoint Server 2007的機器上拷貝該文件到我們的開發環境所在機器的項目文件夾下。默認情況下,Microsoft.SharePoint.dll和Microsoft.office.Excel.Server.WebServics.dll位于裝有SharePoint的機器的以下目錄中:
拷貝過來后,將這兩個文件添加到引用中。
添加到本地拷貝的程序集的引用
項目->添加引用,出現添加引用對話框。
點擊瀏覽,導航到放Windows SharePoint Services和Excel Web Service程序集文件的目錄
選中Microsoft.SharePoint.dll 和Microsoft.office.Excel.Server.WebServices.dll 文件。
確定,完成引用的添加。
如果要使Excel Web Service正常工作,還需要添加到System.Web.Services程序集的引用:
項目->添加引用,出現添加引用對話框。
點擊.NET標簽,選擇System.Web.Services 組件。
確定,完成引用的添加。
設置WebPart程序集的版本號
默認情況下,自定義Web控件項目的AssemblyVersion屬性設為每次重新編譯時自動增加。Web部件頁通過Web.config文件中注冊的版本號來識別WebPart。如果AssemblyVersion屬性設為每次重新編譯時自動增加,當我們把WebPart導入到Web部件頁后又重新編譯了該WebPart,就會因為找不到程序集而出錯了。避免字增的方法就是手工指定一個版本號。
為WebPart程序集手工指定版本號
項目->NewsHeadlinesWebPart 屬性。
在項目屬性頁面中,點應用程序標簽。
點程序集信息
在程序集信息對話框中,設定版本為1.0.0.0
確定,保存。
關閉項目屬性頁。
為WebPart程序集進行強命名
為了使我們的WebPart可以部署到GAC(global assembly cache)中,供多個應用程序共享,我們必須為WebPart增加強命名。強名稱由一個文本格式的名稱,版本號,地區語言信息(如果提供了的話)和一個公鑰數字簽名組成。
在Visual Studio中為WebPart強命名
項目->NewsHeadlinesWebPart 屬性。
在項目屬性頁面中,點簽名標簽。
在選擇一個強名key文件處,點新建。
在創建強命名key文件對話框中,填寫keypair文件名。取消下面的使用密碼保護我的密鑰的選擇框。
關閉項目屬性頁。
實現頭條新聞Filter Consumer WebPart
下面我們將創建一個類實現頭條新聞篩選消費者部件。在代碼文件頭部添加下列引用。
新聞熱點
疑難解答
圖片精選