Click to Rate and Give Feedback

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
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)
Visual Basic (Declaration)
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Interface, AllowMultiple := True)> _
Public NotInheritable Class WebServiceBindingAttribute _
    Inherits Attribute
Visual Basic (Usage)
Dim instance As WebServiceBindingAttribute
C#
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple = true)]
public sealed class WebServiceBindingAttribute : Attribute
Visual C++
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Interface, AllowMultiple = true)]
public ref class WebServiceBindingAttribute sealed : public Attribute
JScript
public final class WebServiceBindingAttribute extends 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.

Visual Basic
<%@ WebService Language="VB" class="BindingSample" %>
Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols

' Binding is defined in this XML Web service and uses the default namespace.
' Binding is defined in this XML Web service, but it is not a part of the default
' namespace.
' Binding is defined on a remote server, but this XML Web service implements at
' least one operation in that binding.
<WebServiceBinding(Name := "LocalBinding"), _ 
 WebServiceBinding(Name := "LocalBindingNonDefaultNamespace", _ 
                   Namespace := "http://www.contoso.com/MyBinding"), _     
 WebServiceBinding(Name := "RemoteBinding", _ 
                   Namespace := "http://www.contoso.com/MyBinding", _
                   Location := "http://www.contoso.com/MySevice.asmx?wsdl")> _
Public Class BindingSample

    <SoapDocumentMethod(Binding := "LocalBinding"), WebMethod()> _
    Public Function LocalBindingMethod() As String

        Return "Member of binding defined in this XML Web service and member of the default namespace"
    End Function

    <SoapDocumentMethod(Binding := "LocalBindingNonDefaultNamespace"), WebMethod()> _
    Public Function LocalBindingNonDefaultNamespaceMethod() As String

        Return "Member o1f binding defined in this XML Web service, but a part of a different namespace"
    End Function    

    <SoapDocumentMethod(Binding := "RemoteBinding"), WebMethod()> _
    Public Function RemoteBindingMethod() As String

        Return "Member of a binding defined on another server"
    End Function    

    <WebMethod()> _
    Public Function DefaultBindingMethod() As String

        Return "Member of the default binding"
    End Function
End Class


C#
<%@ 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="http://www.contoso.com/MyBinding" )]

 // Binding is defined on a remote server, but this XML Web service implements at least one operation in that binding.
 [ WebServiceBinding(Name="RemoteBinding", 
          Namespace="http://www.contoso.com/MyBinding",
          Location="http://www.contoso.com/MySevice.asmx?wsdl")]
 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";
      }

 }


System..::.Object
  System..::.Attribute
    System.Web.Services..::.WebServiceBindingAttribute
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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker