Share via

SPWebService class

Represents a Web service that contains one or more Web applications. This Web service allows a Web browser to access the content in SharePoint sites.

Inheritance hierarchy


Namespace:  Microsoft.SharePoint.Administration
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)


<GuidAttribute("45AD2BF2-4E3E-46A1-B477-126944C0ACEF")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SPWebService _
    Inherits SPService _
    Implements IBackupRestoreConfiguration, IBackupRestore
Dim instance As SPWebService
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SPWebService : SPService, 
    IBackupRestoreConfiguration, IBackupRestore


The SPWebService class is primarily a container for SPWebApplication objects. Use the WebService property of the SPWebApplication class to return the parent Web service of a Web application. To return a reference to the current Web service, you can use SPWebService.ContentService.

To return the collection of Web services that are installed in the farm, use the SPWebServiceCollection constructor.

In general, you can get an SPWebService object from the ContentService property. You can also use an indexer to return a single Web service from the collection. For example, if the collection is assigned to a variable named myWebServices, use myWebServices[index] in C#, or myWebServices(index) in Visual Basic, where index is either the name or the GUID that identifies the Web service.


The following example iterates through all of the Web services in a server farm and changes the maximum site count and warning site count of all the content databases that are used for each Web application.

Dim webServices As New SPWebServiceCollection(SPFarm.Local)
Dim webService As SPWebService

For Each webService In  webServices
    Dim webApp As SPWebApplication

    For Each webApp In  webService.WebApplications

        If Not webApp.IsAdministrationWebApplication Then

            Dim contentDatabases As SPContentDatabaseCollection = webApp.ContentDatabases
            Dim database As SPContentDatabase

            For Each database In  contentDatabases
                database.WarningSiteCount = 4900
                database.MaximumSiteCount = 5000

            Next database
        End If
    Next webApp
Next webService
SPWebServiceCollection webServices = new SPWebServiceCollection(SPFarm.Local);

foreach (SPWebService webService in webServices)

    foreach (SPWebApplication webApp in webService.WebApplications)

        if (!webApp.IsAdministrationWebApplication)
            SPContentDatabaseCollection contentDatabases = webApp.ContentDatabases;

            foreach (SPContentDatabase database in contentDatabases)
                database.WarningSiteCount = 4900;
                database.MaximumSiteCount = 5000;


Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See also


SPWebService members

Microsoft.SharePoint.Administration namespace