Do not dispose the following listed SharePoint objects explicitly: (Applicable for both SharePoint 2010 and SharePoint 2007)
•SPContext.Current.Site
•SPContext.Current.Web
•SPContext.Site
•SPContext.Web
•SPControl.GetContextWeb(..)
•SPControl.GetContextSite(..)
•SPFeatureReceiverProperties.Feature.Parent
•SPItemEventProperties.ListItem.Web
•SPList.BreakRoleInheritance()
◦Do not call list.ParentWeb.Dispose()
•SPListEventProperties.Web
•SPListEventProperties.List.Web
•SPSite.RootWeb
◦Problems may occur when SPContext.Web has equality to the SPContext.Web.. make sure you dispose of SPSite and it will cleanup sub webs automatically
•SPSite.LockIssue
•SPSite.Owner
•SPSite.SecondaryContact
•SPWeb.ParentWeb
•SPWebEventProperties.Web
Few important changes for Dispose rules in SharePoint 2010:
•Microsoft.SharePoint.WebControls.SiteAdminsitrationSelector.CurrentItem
When used with WSS 3.0 you must call Dispose(), with SharePoint Foundation 2010 you don’t.
•Event Receivers and properties.OpenWeb()
WSS 3.0: When you call properties.OpenWeb() the returned SPWeb will need to call Dispose()
SharePoint Foundation 2010: Use the newly introduced SPItemEventProperties.Web property instead of SPItemEventProperties.OpenWeb() for better performance and to avoid the need to call Dispose().
Reference: http://blogs.msdn.com/b/rogerla/archive/2009/11/30/sharepoint-2007-2010-do-not-dispose-guidance-spdisposecheck.aspx
•SPContext.Current.Site
•SPContext.Current.Web
•SPContext.Site
•SPContext.Web
•SPControl.GetContextWeb(..)
•SPControl.GetContextSite(..)
•SPFeatureReceiverProperties.Feature.Parent
•SPItemEventProperties.ListItem.Web
•SPList.BreakRoleInheritance()
◦Do not call list.ParentWeb.Dispose()
•SPListEventProperties.Web
•SPListEventProperties.List.Web
•SPSite.RootWeb
◦Problems may occur when SPContext.Web has equality to the SPContext.Web.. make sure you dispose of SPSite and it will cleanup sub webs automatically
•SPSite.LockIssue
•SPSite.Owner
•SPSite.SecondaryContact
•SPWeb.ParentWeb
•SPWebEventProperties.Web
Few important changes for Dispose rules in SharePoint 2010:
•Microsoft.SharePoint.WebControls.SiteAdminsitrationSelector.CurrentItem
When used with WSS 3.0 you must call Dispose(), with SharePoint Foundation 2010 you don’t.
•Event Receivers and properties.OpenWeb()
WSS 3.0: When you call properties.OpenWeb() the returned SPWeb will need to call Dispose()
SharePoint Foundation 2010: Use the newly introduced SPItemEventProperties.Web property instead of SPItemEventProperties.OpenWeb() for better performance and to avoid the need to call Dispose().
Reference: http://blogs.msdn.com/b/rogerla/archive/2009/11/30/sharepoint-2007-2010-do-not-dispose-guidance-spdisposecheck.aspx
No comments:
Post a Comment