次の方法で共有


WebServiceBindingAttribute クラス

XML Web サービスを実装しているクラスの中で実装される 1 つ以上の XML Web サービス メソッドのバインディングを宣言します。このクラスは継承できません。

この型のすべてのメンバの一覧については、WebServiceBindingAttribute メンバ を参照してください。

System.Object
   System.Attribute
      System.Web.Services.WebServiceBindingAttribute

<AttributeUsage(AttributeTargets.Class)>
NotInheritable Public Class WebServiceBindingAttribute   Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Class)]
public sealed class WebServiceBindingAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Class)]
public __gc __sealed class WebServiceBindingAttribute : public   Attribute
[JScript]
public
   AttributeUsage(AttributeTargets.Class)
class WebServiceBindingAttribute extends Attribute

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

WSDL (Web Services Description Language) によって定義されているバインディングは、具体的な操作のセットを定義している点でインターフェイスと似ています。各 XML Web サービス メソッドは、特定のバインディング内の操作です。XML Web サービス メソッドは、XML Web サービスの既定のバインディングのメンバ、または XML Web サービスを実装しているクラスに適用された WebServiceBindingAttribute の中で指定されたバインディング内のメンバです。複数の WebServiceBindingAttribute 属性を 1 つの XML Web サービスに適用することにより、1 つの XML Web サービスで複数のバインディングを実装できます。

1 つ以上の WebServiceAttribute 属性が XML Web サービスに適用されると、 SoapDocumentMethodAttribute または SoapRpcMethodAttribute を個別の XML Web サービス メソッドに適用して、特定の XML Web サービス メソッドによって実装されるバインディング操作を指定できます。 SoapDocumentMethodAttribute または SoapRpcMethodAttributeBinding プロパティを設定して、XML Web サービス メソッドが操作を実装する対象となるバインディングを指定します。

使用例

[Visual Basic, C#] 4 つのバインディングで操作を実装する XML Web サービスを次に示します。特に、XML Web サービスは、3 つの WebServiceBindingAttribute 属性を XML Web サービスに適用して、操作を実装する対象となる 3 つのバインディングを宣言します。

[Visual Basic, C#] XML Web サービス メソッドが操作を実装する対象であるバインディングを指定するために、 DefaultBindingMethod を除く各 XML Web サービス メソッドに SoapDocumentMethodAttribute が適用されます。 DefaultBindingMethod のバインディングを指定しないことによって、XML Web サービスの既定のバインディングに操作を実装しています。

 
<%@ 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 := "https://www.contoso.com/MyBinding"), _     
 WebServiceBinding(Name := "RemoteBinding", _ 
                   Namespace := "https://www.contoso.com/MyBinding", _
                   Location := "https://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="https://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="https://www.contoso.com/MyBinding",
          Location="https://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";
      }
 
 }

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Web.Services

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Web.Services (System.Web.Services.dll 内)

参照

WebServiceBindingAttribute メンバ | System.Web.Services 名前空間 | SoapDocumentMethodAttribute | SoapRpcMethodAttribute