Если вы создадите экземпляр объекта SPSite
, передав URL-адрес в его конструктор, API-интерфейс SharePoint создаст из этого действительный объект.
Теперь, если вы вызовете OpenWeb()
для этого объекта, вы получите экземпляр объекта SPWeb
, на который ссылается ваш данный URL.
Затем вы можете сравнить SPSite.URL
(URL корневой сети этого сайта) с SPWeb.Url
(URL вашей сети). Если они совпадают, у вас есть URL-адрес семейства сайтов.
Ваш код будет выглядеть примерно так (в данный момент у меня нет Visual Studio, так что это просто псевдокод)
string sUrl = "http://someserver/zeiten/mysite1/someweb";
Using (SPSite oSite = new SPSite(sUrl)){
Using (SPWeb oWeb = oSite.OpenWeb()){
if (oWeb.Url == oSite.Url) {
//sUrl refers to a site collection
} else{
//you actually have an url of some sub-web
}
}
}
См. Ответы на мой похожий вопрос:
Поиск элемента списка SharePoint по URL его отображаемой формы