WebService Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Defines the optional base class for XML Web services, which provides direct access to common ASP.NET objects, such as application and session state.

Namespace:   System.Web.Services
Assembly:  System.Web.Services (in System.Web.Services.dll)

public class WebService : MarshalByValueComponent


Initializes a new instance of the WebService class.


Gets the application object for the current HTTP request.


Gets the container for the component.(Inherited from MarshalByValueComponent.)


Gets the ASP.NET HttpContext for the current request, which encapsulates all HTTP-specific context used by the HTTP server to process Web requests.


Gets a value indicating whether the component is currently in design mode.(Inherited from MarshalByValueComponent.)


Gets the list of event handlers that are attached to this component.(Inherited from MarshalByValueComponent.)


Gets the HttpServerUtility for the current request.


Gets the HttpSessionState instance for the current request.


Gets or sets the site of the component.(Inherited from MarshalByValueComponent.)


Gets the version of the SOAP protocol used to make the SOAP request to the XML Web service.


Gets the ASP.NET server User object. Can be used to authenticate whether a user is authorized to execute the request.


Releases all resources used by the MarshalByValueComponent.(Inherited from MarshalByValueComponent.)


Releases the unmanaged resources used by the MarshalByValueComponent and optionally releases the managed resources.(Inherited from MarshalByValueComponent.)


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from MarshalByValueComponent.)


Serves as the default hash function. (Inherited from Object.)


Gets the implementer of the IServiceProvider.(Inherited from MarshalByValueComponent.)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a String containing the name of the Component, if any. This method should not be overridden.(Inherited from MarshalByValueComponent.)


Adds an event handler to listen to the Disposed event on the component.(Inherited from MarshalByValueComponent.)

If you don't need access to the common ASP.NET objects, you can still create an XML Web service without deriving from WebService. Additional ASP.NET objects can be accessed through Context.

XML Web service methods that have the OneWay property of either SoapRpcMethodAttribute or SoapDocumentMethodAttribute set to true, do not have access to their HttpContext. As such, accessing any of the properties of the WebService class, from within that XML Web service method, return null.

If you are using the .NET Framework version 1.0 XML Web service methods that have either the SoapRpcMethodAttribute or SoapDocumentMethodAttribute attribute applied to them with the OneWay property of set to true, do not have access to their HttpContext using the static Current property. To access the HttpContext, derive the class implementing the XML Web service method from WebService and access the Context property.

The example below creates an XML Web service, deriving from WebService, in order to use the Context property to obtain the time of the request on the server.

.NET Framework
Available since 1.1

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

Return to top