Developer
Sharepoint Object의 Disposing 방법
Angeleyes
2012. 7. 20. 09:49
Sharepoint 개발 중 가장 중요한 부분인 것 같아.. 꼭 알고 계셔야 할 부분입니다.
역시 가장 잘 설명되어 있는 곳은 MSDN입니다.
http://msdn.microsoft.com/en-us/library/ee557362.aspx
SPSite, SPWeb의 코딩에는 반드시 Dispose되어야 합니다.
그 중 Context로 잡은 SPSite, SPWeb의 경우에는 Dispose 할 필요가 없습니다.
loop 안에 있는 Site, Web 등의 경우가 좀 중요하다고 할 수 있는데요..
좋은 코딩은 아래와 같습니다.
SPSite oSite = SPContext.Current.Site; using (SPWeb oWeb = oSite.OpenWeb()) { foreach (SPWeb oWeb2 in oWeb.Webs) { // code... oWeb2.Dispose(); } SPWeb oWeb3 = null; for (int i = 0; i < oWeb.Webs.Count; i++) { using (oWeb3 = oWeb.Webs[i]) { // code... } } } using (SPSite site = new SPSite("http://dev.com/")) { using (SPWeb web = site.OpenWeb()) { // code... } }
SPSite도 위와 같은 형태로 코딩되면 됩니다~~~
감사합니다.