Используйте объект SPFarm
для получения всех веб-приложений, затем используйте SPWebApplication
для получения всей коллекции сайтов, а затем используйте SPSite
для получения всех веб-сайтов.
Вы должны пройти через все три, чтобы получить все сайты в семействе сайтов. Если вы хотите найти дочерние сайты под spweb, пожалуйста, вызывайте все spwebs рекурсивно, пока вы не найдете ни одной сети под spweb для каждого spweb.
SPFarm farm = SPFarm.Local;
SPWebService service = farm.Services.GetValue<SPWebService>("");
foreach (SPWebApplication webapp in service.WebApplications)
{
foreach (SPSite sitecoll in webapp.Sites)
{
foreach (SPWeb web in sitecoll.AllWebs)
{
<<Use recursion here to Get sub WebS>>
web.Dispose();
}
sitecoll.Dispose();
}
}