SPSite, SPWeb 需要严格的内存管理,但是不能极端。
今天从中午开始一直被 "Trying to use an SPWeb object that has been closed or disposed and is no longer valid." 这样一个错误提示困扰着。
看看代码,所有的 SPSite 和 SPWeb 都使用 Using 了。怎么会出现这样的问题呢?
于是,Google 了一下,发现了一个被我忽视了的大问题:并不是所有的 SPSite、SPWeb 都需要 Dispose。
具体来说 SPContext 里面的 SPSite、SPWeb 就不需要(也必须不能)由你来 dispose。
其实是一个很简单的问题,如果不是对 WSS/MOSS 产生了太多恐惧,我一定不会犯这样愚蠢的错误的……哎……