سؤال

Is there an easy way to get just the web application URL in SharePoint, for example, SPWEbApplication has the following property spwebapplication.sites that would return URL's of all the site collections, but not of the root URL that they all contain. So I could return this:

http://thiswebapplication:8001/thissitecollection

but not this:

http://thiswebapplication:8001

Is there an easy way to get http://thiswebapplication without any parsing, using the SharePoint or built in ASP.NET objects?

هل كانت مفيدة؟

المحلول

Remember that SharePoint web applications can have multiple URLs since they can be extended onto different IIS websites e.g. http://authoring.site.com and http://www.site.com.

If you're looking to get the URL for the default zone (either with a web app which has been extended or not), you can use:

webApp.GetResponseUri(SPUrlZone.Default);

نصائح أخرى

From the SPWebApplication object you have access to AlternateURLs which will provide the collection of URLs as specified in the Alternate Access Mappings.

SPSite.Url

This is also easily accessed by PowerShell;

$sites = Get-SPSite | Where-Object {$_.Url -like "*portal*"}
 foreach ($site in $sites) {
  Write-Host "Site is SPSite Url=$site"
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top