JOJ
踏踏实实做人,认认真真做事!放纵自己就是毁灭自己!

 

SPDisposeCheck这个工具之前一直有所了解,用来检测对象是否被正确的释放,在sharepoint开发中, 经常要用到的spsite,spweb对象, 然而这两个对象都是重量级的,msnd上的文章介绍过,你打开一个spsite或者spweb对象 将占用1M到2M的内存,如果你打开多了对象,都没有及时关闭,那就可想而知了,在多的内存也禁不起这么消耗啊!

 

直到最近在国外一个sharepoint论坛看到一个视频,讲解的很清楚, 如果安装,配置,使用! 把SPDisposeCheck集成到VS2010后,进行sharepoint开发,哪些地方该释放资源,哪些地方不该释放资源的都会告诉你!

当然你也不能一味的依赖该工具来检测对象是否释放, 可以看看我之前发的文章: Using Disposable Windows SharePoint Services Objects 该文章来源于msdn,里面详细介绍了那些该释放资源,该用何种方式,推荐阅读!

 

下面就配置SPDisposeCheck集成到VS2010 , 需要下载的文件和视频最后附上!

 

1. 首先安装 SPDisposeCheck. 工具

2.打开安装目录: C:\Program Files (x86)\Microsoft\SharePoint Dispose Check\

5

3. 把SPDisposeCheck.exe 复制到 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\Rules 目录下面.

4. 把SPDisposeCheckRules.dll 复制到 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\Rules 目录下面. (SPDisposeCheckRules.dll 可在codeplex下载)

6

5. 打开vs2010 , 新建一个sharepoint项目为SharePointProject1. 新建项:选择:常规—>代码分析规则集. 取名为:SPDisposeCheck.ruleset

2

新建之后,选择 勾选 SPDispseCheck , 操作选择为 错误,当然你也可以选择为警告. 如下图:

3

已文本方式打开 SPDisposeCheck.ruleset : 修改ruleSet名称:默认为New Rule Set ,修改为 SPDisposeCheck

7

打开SharePointProject1项目属性, 在代码分析中选择刚才的SPDisposeCheck.

8

 

到此SPDisposeCheck已经完美的集成到vs2010 中了. 下面就是检验他的时候了.

新建一个应用程序页:ApplicationPage1.

首先来一个最简单的代码, SPSite site = new SPSite(http://localhost); 如果没有设置SPDisposeCheck,这段代码肯定是编译通过的! 提醒我们该段代码需要释放资源.

9

 

SPContext.Current.Site 是自动释放资源的, 不该释放的资源你手动释放了,也是不行的!

10

 

下面来个正确的,释放该释放的资源, 不该你手动释放的就不要乱释放. 下面这个就编译全部通过了.

11

 

希望能帮助到一些sharepoint开发的朋友们.

 

附件下载(无视频707kb)

附件下载(有视频11M)

 

posted on 2011-07-31 18:24  JoinJ  阅读(606)  评论(0编辑  收藏  举报