This project is read-only.
1
Vote

doesn't finish on really big site collection

description

Hi,
 
nice & really useful tool!
 
But I ran it on a site collection that has over 6600 sites. The SiteListingsInfo.csv ends near /sites/H..., 3262 rows to be exact. The SiteListingsUsage.csv has 6666 rows, ending with /sites/w... which is correct. I am able to help you testing it if you don't have such a big site collection to test it on.
 
I also don't understand why the output information is split into two files and not in just one file. I have to parse & edit those files to be able to load them into excel, because they are not sorted equally. (and it's not related to the first problem, it happened on a site collection that has only about 900 sites and the program finished ok (same number of rows in both files). Can you change that?
 
Thanks

comments

kordeneaux wrote Feb 9, 2011 at 7:02 PM

I ran into the crashing issue as well. There is a memory leak issue on the recursive call inside ListWebs(). This can be fixed by checking and explicitly disposing the childWeb after the call:

foreach (SPWeb childWeb in Web.Webs)
        {
            try
            {
                ListWebs(childWeb, Separation + "--", Writer);
            }
            finally
            {
                if (childWeb != null)
                    childWeb.Dispose();
            }
        }
It is tricky to manage those SPWeb objects with a foreach loop inside a recursive method. My solution is recommended in the best coding practices here: http://msdn.microsoft.com/en-us/library/aa973248.aspx

wrote Feb 14, 2013 at 3:01 AM