Programmgesteuertes Abrufen der SharePoint-Webanwendungs-URL
-
16-10-2019 - |
Frage
Gibt es eine einfache Möglichkeit, nur die Webanwendungs-URL in SharePoint abzurufen? SPWEbApplication verfügt beispielsweise über die folgende Eigenschaft spwebapplication.sites, die URLs aller Websitesammlungen zurückgibt, jedoch nicht der Stamm-URL, die sie alle enthalten.Also könnte ich das zurückgeben:
http://thiswebapplication:8001/thissitecollection
aber nicht das hier:
http://thiswebapplication:8001
Gibt es einen einfachen Weg dorthin? http://dieseWebanwendung ohne Parsen, mit SharePoint oder integrierten ASP.NET-Objekten?
Lösung
Denken Sie daran, dass SharePoint-Webanwendungen mehrere URLs haben können, da sie auf verschiedene IIS-Websites erweitert werden können, z. B. http://authoring.site.com Und http://www.site.com.
Wenn Sie die URL für die Standardzone abrufen möchten (entweder mit einer Web-App, die erweitert wurde oder nicht), können Sie Folgendes verwenden:
webApp.GetResponseUri(SPUrlZone.Default);
Andere Tipps
Vom SPWebApplication-Objekt aus haben Sie Zugriff auf AlternateURLs, die die Sammlung von URLs bereitstellen, wie in den alternativen Zugriffszuordnungen angegeben.
Auch PowerShell kann problemlos darauf zugreifen.
$sites = Get-SPSite | Where-Object {$_.Url -like "*portal*"}
foreach ($site in $sites) {
Write-Host "Site is SPSite Url=$site"
}