Come ottenere tutti i siti e sotto-siti in SharePoint e accedere a una libreria di immagini / lista?
-
30-09-2019 - |
Domanda
Come ottenere tutti i siti e siti secondari in SharePoint e l'accesso una libreria di immagini / lista?
Non vedo l'ora di raggiungere questo obiettivo attraverso il modello a oggetti di SharePoint. All'interno di ogni sito o sottosito voglio per accedere a una libreria di immagini / list,
Dopo aver ottenuto a questa lista, come faccio a impostare l'opzione di 'richiesto di approvazione del contenuto per gli elementi selezionati' da 'Sì' a 'No'?
Soluzione
Utilizzare l'oggetto SPFarm
per ottenere tutte le applicazioni Web quindi utilizzare SPWebApplication
per ottenere tutti sitecollection e quindi utilizzare SPSite
per ottenere tutti i Web.
Si deve scorrere tutti e tre per ottenere tutti i siti sotto la raccolta siti. Se si vuole trovare siti secondari SPWeb si prega di chiamare tutti i spwebs in modo ricorsivo fino a quando non si trova alcuna ragnatele sotto SPWeb per ogni 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();
}
}