This documentation is archived and is not being maintained.

WebServiceBindingAttribute Class

Declares a binding that defines one or more XML Web service methods. This class cannot be inherited.

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

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple = true)]
public sealed class WebServiceBindingAttribute : Attribute

A binding, as defined by Web Services Description Language (WSDL), is similar to an interface, in that it defines a concrete set of operations. Each XML Web service method is an operation within a particular binding. XML Web service methods are members of either the default binding for an XML Web service or a binding specified within a WebServiceBindingAttribute applied to a class implementing an XML Web service. An XML Web service can implement multiple bindings, by applying multiple WebServiceBindingAttribute attributes to an XML Web service.

Once one or more WebServiceAttribute attributes are applied to an XML Web service, a SoapDocumentMethodAttribute or SoapRpcMethodAttribute can be applied to individual XML Web service methods to indicate the binding operation implemented by a particular XML Web service method. Set the Binding property of SoapDocumentMethodAttribute or SoapRpcMethodAttribute to specify the binding an XML Web service method is implementing an operation for.

The following XML Web service implements operations from four bindings. Specifically, the XML Web service declares three bindings it implements operations for, by applying three WebServiceBindingAttribute attributes to the XML Web service.

To specify which binding an XML Web service method is implementing an operation for, a SoapDocumentMethodAttribute is applied to each of the XML Web service methods, except DefaultBindingMethod. By not specifying a binding for DefaultBindingMethod, it is implementing an operation on the default binding for the XML Web service.

<%@ WebService Language="C#" class="BindingSample" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;

 // Binding is defined in this XML Web service and uses the default namespace.
 [ WebServiceBinding(Name="LocalBinding")]

 // Binding is defined in this XML Web service, but it is not a part of the default namespace.
 [ WebServiceBinding(Name="LocalBindingNonDefaultNamespace", 
		     Namespace="" )]

 // Binding is defined on a remote server, but this XML Web service implements at least one operation in that binding.
 [ WebServiceBinding(Name="RemoteBinding", 
 public class BindingSample  {

      [ SoapDocumentMethod(Binding="LocalBinding")]
      [ WebMethod() ]
      public string LocalBindingMethod() {
               return "Member of binding defined in this XML Web service and member of the default namespace";
      [ SoapDocumentMethod(Binding="LocalBindingNonDefaultNamespace")] 
      [ WebMethod() ]
      public string LocalBindingNonDefaultNamespaceMethod() {
              return "Member of binding defined in this XML Web service, but a part of a different namespace";

     [ SoapDocumentMethod(Binding="RemoteBinding")] 
     [ WebMethod() ]
      public string RemoteBindingMethod() {
              return "Member of a binding defined on another server";

      [ WebMethod() ]
      public string DefaultBindingMethod() {
              return "Member of the default binding";



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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

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

.NET Framework

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

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0