2012年3月13日 星期二

How To Use SharePoint Dispose Checker Tool (如何使用SPDisposeCheck工具檢測SharePoint 2010)

微軟官方提供的 SharePoint 程式撰寫規範,可參考如下網址之內容:

http://blogs.msdn.com/b/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx#SPDisposeCheckID_210

另外,在開發SharePoint API時也可以使用以下工具來檢測,撰寫的程式是否有問題,規則或用法是否有誤…等等,這個好用的工作叫做:SharePoint Dispose Checker Tool,以下是下載的網址:

SharePoint Dispose Checker Tool

http://archive.msdn.microsoft.com/SPDisposeCheck

1. 當下在完成,開始執行安裝,會有一個畫面可以選擇安裝的功能,一個是當作VS2010的增益集工具,另一個是自動在專案建置後,順便執行程式碼檢核,如下圖所示:

image

2. 安裝完成之後,開啟VS2010可以看到已經安裝完成的工具:SPDisposeCheck,先設定VS2010中的SPDisposeCheck

image

3. 新增一個SharePoint WebPart專案,在WebPart中撰寫叫用Server API 物件程式

image

4. 使用SharePoint.dll呼叫Server API 物件來進行程式碼檢測,以下我們來檢測兩段簡易的SPWeb物件程式碼,首先第一段是正確的寫法:

image

5. 開啟VS2010中的SPDisposeCheck,設定相關選項後,按下Save and Analyze:

image

因為這段程式碼是遵守規範的,所以並沒有錯誤訊息警示:

image

6. 第二段程式是不正確的寫法,當建置後SPDisposeCheck會檢測到這段程式不符合程式撰寫規範,因此會出現提示的警示訊息,如下圖所示:

image

當SPDisposeCheck進行程式碼檢測時,會發現以下錯誤訊息:

SPDisposeCheckID_645: Dispose should not be called on this object.
Initial Assignment: site := Microsoft.SharePoint.SPContext.get_Current().{Microsoft.SharePoint.SPContext}get_Site() For more information, visit
http://blogs.msdn.com/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx#SPDisposeCheckID_645        0    1    SharePointSPDisposeCheck

image

因此,若是開發SharePoint 應用程式,亞當斯建議可以使用這個不錯用的程式碼檢測小工具來偵測您的寫法是否有遵守微軟建議的開發規範,以避免不必要的錯誤發生。

沒有留言: