This topic has not yet been rated - Rate this topic

WebService Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

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

The WebService type exposes the following members.

  Name Description
Public method WebService Initializes a new instance of the WebService class.
Top
  Name Description
Public property Application Gets the application object for the current HTTP request.
Public property Container Gets the container for the component. (Inherited from MarshalByValueComponent.)
Public property Context Gets the ASP.NET HttpContext for the current request, which encapsulates all HTTP-specific context used by the HTTP server to process Web requests.
Public property DesignMode Gets a value indicating whether the component is currently in design mode. (Inherited from MarshalByValueComponent.)
Protected property Events Gets the list of event handlers that are attached to this component. (Inherited from MarshalByValueComponent.)
Public property Server Gets the HttpServerUtility for the current request.
Public property Session Gets the HttpSessionState instance for the current request.
Public property Site Gets or sets the site of the component. (Inherited from MarshalByValueComponent.)
Public property SoapVersion Gets the version of the SOAP protocol used to make the SOAP request to the XML Web service.
Public property User Gets the ASP.NET server User object. Can be used to authenticate whether a user is authorized to execute the request.
Top
  Name Description
Public method Dispose() Releases all resources used by the MarshalByValueComponent. (Inherited from MarshalByValueComponent.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the MarshalByValueComponent and optionally releases the managed resources. (Inherited from MarshalByValueComponent.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from MarshalByValueComponent.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetService Gets the implementer of the IServiceProvider. (Inherited from MarshalByValueComponent.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from MarshalByValueComponent.)
Top
  Name Description
Public event Disposed Adds an event handler to listen to the Disposed event on the component. (Inherited from MarshalByValueComponent.)
Top

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.


<%@ WebService Language="C#" Class="Util" %>

 using System;
 using System.Web.Services;

 public class Util: WebService {
   [ WebMethod(Description="Returns the time as stored on the Server",
   EnableSession=false)]
   public string Time() {
      return Context.Timestamp.TimeOfDay.ToString();
   }
 }
 


.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 3.5 SP1

Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)