Obtenir l'URL des applications Web SharePoint Programmatically
-
16-10-2019 - |
Question
Y at-il un moyen facile d'obtenir simplement l'URL de l'application Web dans SharePoint, par exemple, SPWebApplication a les spwebapplication.sites de propriété suivante qui rentreraient de toutes les collections de sites URL, mais pas de l'URL racine qu'ils contiennent tous. Je pourrais donc revenir à ceci:
http: // thiswebapplication: 8001 / thissitecollection
mais pas ceci:
http: // thiswebapplication: 8001
Y at-il un moyen facile d'obtenir http: // thiswebapplication sans analyse syntaxique, en utilisant SharePoint ou dans les objets ASP.NET construit ?
La solution
Rappelez-vous que les applications Web SharePoint peuvent avoir plusieurs URL, car ils peuvent être étendus sur différents sites Web IIS par exemple http://authoring.site.com et http: // www.site.com .
Si vous cherchez à obtenir l'URL de la zone par défaut (soit avec une application web qui a été étendu ou non), vous pouvez utiliser:
webApp.GetResponseUri(SPUrlZone.Default);
Autres conseils
De l'objet SPWebApplication vous avez accès à AlternateURLs qui fournira la collection d'URL comme indiqué dans les Mappages des accès.
Ceci est également facilement accessible par PowerShell;
$sites = Get-SPSite | Where-Object {$_.Url -like "*portal*"}
foreach ($site in $sites) {
Write-Host "Site is SPSite Url=$site"
}