在使用SharePoint2013的時候,如果其他客戶端 API 的組合不足,可以通過自定義 Web 服務擴展 SharePoint。默認情況下,SharePoint 2013 不僅支持創建自定義 ASP.NET Web 服務,還支持創建自定義 WCF Web 服務。
在開始之前,簡單描述一下創建自定義WCF服務的步驟:
Ø創建SharePoint空項目,選擇場解決方案
Ø添加相關的應用程序集引用
Ø創建相關類和接口類,為其添加源代碼
Ø創建ISAPI文件夾映射,在里面添加svc文件,並映射cs后台代碼
Ø修改.csproj的程序文件,添加對於svc類型的支持
好了,讓我們通過圖文,了解SharePoint 2013中自定義WCF服務吧,可能描述較少,圖文較多,因為創建的過程比較簡單,示例代碼也比較簡單,主要還是創建的過程。
1、新建SharePoint空項目,如下圖:
2、選擇“部署為場解決方案”,如下圖:
3、在我們的項目上,右鍵,添加新項,選擇“常規 – 文本文件”,如下圖:
使用以上方式,在項目中分別添加GetWebTitle.cs和IGetWebTitle.cs,作為WCF的服務和接口類;
添加完畢,如下圖:
4、為項目添加ISAPI文件夾的映射,在項目上右鍵 – 添加 – SharePoint文件夾映射,選擇ISAPI,點擊確定,這一步比較簡單,就不截圖了;
添加ISAPI文件夾映射,在文件夾上右鍵 - 添加 - 選擇文件夾,添加完畢后重命名為GetWebTitle;
添加GetWebTitle文件夾完畢以后,仿照步驟3在該文件夾下,添加GetWebTitle.svc文件,都添加完畢后的文件夾目錄如下圖所示:
5、為項目添加Microsoft.SharePoint.Client.ServerRuntime.dll的引用,當然,如果你的項目中已經存在這個引用,就可以忽略此步:
2010版本位置如下
%Windows%\assembly\GAC_MSIL\Microsoft.SharePoint.Client.ServerRuntime
2013版本的位置有所變動,如下
%Windows%\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.ServerRuntime
同時,為項目添加System.Runtime.Serialization 和 System.ServiceModel的引用,具體位置在單擊“添加引用”,然后在“程序集 – 框架”選項卡上;
6、為IGetWebTitle.cs添加代碼,如下:
7、為GetWebTitle.cs添加代碼,如下:
8、為GetWebTitle.svc關聯一下程序集,如下圖:
9、都搞定了,可以部署一下,部署后位置如下圖:
10、然后,右鍵這個文件,預覽一下,可能會報錯,是因為需要添加解決方案對SVC文件的支持,將項目卸載,編輯項目文件,如下圖,添加支持svc類型文件:
11、再次訪問這個WCF服務,如下圖:
總 結
經過上面步驟,已經完成了SharePoint 2013中添加自定義WCF服務,WCF開發部分不是本文重點,所以也沒有詳細介紹源碼,主要還是介紹在SharePoint解決方案中,封裝WCF服務,特別要說,這樣封裝的WCF服務和SharePoint自帶的基本相似。
好了,文章比較簡單,希望能夠需要的人帶來幫助。特別附參考鏈接給大家,里面有詳細介紹代碼部分,是SharePoint 2010版本,和2013版本基本一樣,但是沒有截圖參考,看起來比較糾結,呵呵。
參考鏈接
http://msdn.microsoft.com/zh-cn/library/ff521581.aspx











