OperationBindingCollection クラス

OperationBinding クラスのインスタンスのコレクションを表します。このクラスは継承できません。

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

System.Object
   System.Collections.CollectionBase
      System.Web.Services.Description.ServiceDescriptionBaseCollection
         System.Web.Services.Description.OperationBindingCollection

NotInheritable Public Class OperationBindingCollection
   Inherits ServiceDescriptionBaseCollection
[C#]
public sealed class OperationBindingCollection :
   ServiceDescriptionBaseCollection
[C++]
public __gc __sealed class OperationBindingCollection : public
   ServiceDescriptionBaseCollection
[JScript]
public class OperationBindingCollection extends
   ServiceDescriptionBaseCollection

スレッドセーフ

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

解説

OperationBinding クラスは、 <binding> 要素で囲まれた WSDL (Web Services Description Language) <operation> 要素に対応します。さらに、この要素は Binding クラスに対応します。WSDL の詳細については、http://www.w3.org/TR/wsdl/ の仕様を参照してください。

使用例

 
Imports System
Imports System.Web.Services.Description
Imports Microsoft.VisualBasic

Class MyOperationBindingCollectionSample

   Shared Sub Main()
      Try
         Dim myServiceDescription As ServiceDescription = _
            ServiceDescription.Read("MathService_input_vb.wsdl")

         ' Add the OperationBinding for the Add operation.
         Dim addOperationBinding As New OperationBinding()
         Dim addOperation As String = "Add"
         Dim myTargetNamespace As String = myServiceDescription.TargetNamespace
         addOperationBinding.Name = addOperation

         ' Add the InputBinding for the operation.
         Dim myInputBinding As New InputBinding()
         Dim mySoapBodyBinding As New SoapBodyBinding()
         mySoapBodyBinding.Use = SoapBindingUse.Literal
         myInputBinding.Extensions.Add(mySoapBodyBinding)
         addOperationBinding.Input = myInputBinding

         ' Add the OutputBinding for the operation.
         Dim myOutputBinding As New OutputBinding()
         myOutputBinding.Extensions.Add(mySoapBodyBinding)
         addOperationBinding.Output = myOutputBinding

         ' Add the extensibility element for the SoapOperationBinding.
         Dim mySoapOperationBinding As New SoapOperationBinding()
         mySoapOperationBinding.Style = SoapBindingStyle.Document
         mySoapOperationBinding.SoapAction = myTargetNamespace & addOperation
         addOperationBinding.Extensions.Add(mySoapOperationBinding)

         ' Get the BindingCollection from the ServiceDescription.
         Dim myBindingCollection As BindingCollection = _
            myServiceDescription.Bindings

         ' Get the OperationBindingCollection of SOAP binding from
         ' the BindingCollection.
         Dim myOperationBindingCollection As OperationBindingCollection = _
            myBindingCollection(0).Operations

         ' Check for the Add OperationBinding in the collection.
         Dim contains As Boolean = _
            myOperationBindingCollection.Contains(addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Whether the collection contains the Add " & _
            "OperationBinding : " & contains.ToString())

         ' Add the Add OperationBinding to the collection.
         myOperationBindingCollection.Add(addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Added the OperationBinding of the Add " & _
            "operation to the collection.")

         ' Get the OperationBinding of the Add operation from the collection.
         Dim myOperationBinding As OperationBinding = _
            myOperationBindingCollection(3)

         ' Remove the OperationBinding of the 'Add' operation from
         ' the collection.
         myOperationBindingCollection.Remove(myOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Removed the OperationBinding of the " & _
            "Add operation from the collection.")
         ' Insert the OperationBinding of the Add operation at index 0.
         myOperationBindingCollection.Insert(0, addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Inserted the OperationBinding of the " & _
            "Add operation in the collection.")

         ' Get the index of the OperationBinding of the Add
         ' operation from the collection.
         Dim index As Integer = myOperationBindingCollection.IndexOf( _
            addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "The index of the OperationBinding of the " & _
            "Add operation : " & index.ToString())
         Console.WriteLine("")

         Dim operationBindingArray(myOperationBindingCollection.Count -1  ) _
            As OperationBinding

         ' Copy this collection to the OperationBinding array.
         myOperationBindingCollection.CopyTo(operationBindingArray, 0)
         Console.WriteLine("The operations supported by this service " & _
            "are :")
         Dim myOperationBinding1 As OperationBinding
         For Each myOperationBinding1 In  operationBindingArray
            Dim myBinding As Binding = myOperationBinding1.Binding
            Console.WriteLine(" Binding : " & myBinding.Name & " Name of " & _
               "operation : " & myOperationBinding1.Name)
         Next myOperationBinding1

         ' Save the ServiceDescription to an external file.
         myServiceDescription.Write("MathService_new_vb.wsdl")
      Catch e As Exception
         Console.WriteLine("Exception caught!!!")
         Console.WriteLine("Source : " & e.Source.ToString())
         Console.WriteLine("Message : " & e.Message.ToString())
      End Try
   End Sub 'Main
End Class 'MyOperationBindingCollectionSample

[C#] 
using System;
using System.Web.Services.Description;

class MyOperationBindingCollectionSample
{
   static void Main()
   {
      try
      {
         ServiceDescription myServiceDescription =
            ServiceDescription.Read("MathService_input_cs.wsdl");

         // Add the OperationBinding for the Add operation.
         OperationBinding addOperationBinding = new OperationBinding();
         string addOperation = "Add";
         string myTargetNamespace = myServiceDescription.TargetNamespace;
         addOperationBinding.Name = addOperation;

         // Add the InputBinding for the operation.
         InputBinding myInputBinding = new InputBinding();
         SoapBodyBinding mySoapBodyBinding = new SoapBodyBinding();
         mySoapBodyBinding.Use = SoapBindingUse.Literal;
         myInputBinding.Extensions.Add(mySoapBodyBinding);
         addOperationBinding.Input = myInputBinding;

         // Add the OutputBinding for the operation.
         OutputBinding myOutputBinding = new OutputBinding();
         myOutputBinding.Extensions.Add(mySoapBodyBinding);
         addOperationBinding.Output = myOutputBinding;

         // Add the extensibility element for the SoapOperationBinding.
         SoapOperationBinding mySoapOperationBinding = 
            new SoapOperationBinding();
         mySoapOperationBinding.Style = SoapBindingStyle.Document;
         mySoapOperationBinding.SoapAction = myTargetNamespace + addOperation;
         addOperationBinding.Extensions.Add(mySoapOperationBinding);

         // Get the BindingCollection from the ServiceDescription.
         BindingCollection myBindingCollection = 
            myServiceDescription.Bindings;

         // Get the OperationBindingCollection of SOAP binding from 
         // the BindingCollection.
         OperationBindingCollection myOperationBindingCollection = 
            myBindingCollection[0].Operations;

         // Check for the Add OperationBinding in the collection.
         bool contains = myOperationBindingCollection.Contains
            (addOperationBinding);
         Console.WriteLine("\nWhether the collection contains the Add " +
            "OperationBinding : " + contains);

         // Add the Add OperationBinding to the collection.
         myOperationBindingCollection.Add(addOperationBinding);
         Console.WriteLine("\nAdded the OperationBinding of the Add" +
            " operation to the collection.");

         // Get the OperationBinding of the Add operation from the collection.
         OperationBinding myOperationBinding = 
            myOperationBindingCollection[3];

         // Remove the OperationBinding of the Add operation from 
         // the collection.
         myOperationBindingCollection.Remove(myOperationBinding);
         Console.WriteLine("\nRemoved the OperationBinding of the " +
            "Add operation from the collection.");

         // Insert the OperationBinding of the Add operation at index 0.
         myOperationBindingCollection.Insert(0, addOperationBinding);
         Console.WriteLine("\nInserted the OperationBinding of the " +
            "Add operation in the collection.");

         // Get the index of the OperationBinding of the Add
         // operation from the collection.
         int index = myOperationBindingCollection.IndexOf(addOperationBinding);
         Console.WriteLine("\nThe index of the OperationBinding of the " +
            "Add operation : " + index);
         Console.WriteLine("");

         OperationBinding[] operationBindingArray = new
            OperationBinding[myOperationBindingCollection.Count];

         // Copy this collection to the OperationBinding array.
         myOperationBindingCollection.CopyTo(operationBindingArray, 0);
         Console.WriteLine("The operations supported by this service " +
            "are :");
         foreach(OperationBinding myOperationBinding1 in 
            operationBindingArray)
         {
            Binding myBinding = myOperationBinding1.Binding;
            Console.WriteLine(" Binding : "+ myBinding.Name + " Name of " +
               "operation : " + myOperationBinding1.Name);
         }

         // Save the ServiceDescription to an external file.
         myServiceDescription.Write("MathService_new_cs.wsdl");
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }
}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::Services::Description;

int main()
{
   try
   {
      ServiceDescription* myServiceDescription =
         ServiceDescription::Read(S"MathService_input_cs.wsdl");

      // Add the OperationBinding for the Add operation.
      OperationBinding* addOperationBinding = new OperationBinding();
      String* addOperation = S"Add";
      String* myTargetNamespace = myServiceDescription->TargetNamespace;
      addOperationBinding->Name = addOperation;

      // Add the InputBinding for the operation.
      InputBinding* myInputBinding = new InputBinding();
      SoapBodyBinding* mySoapBodyBinding = new SoapBodyBinding();
      mySoapBodyBinding->Use = SoapBindingUse::Literal;
      myInputBinding->Extensions->Add(mySoapBodyBinding);
      addOperationBinding->Input = myInputBinding;

      // Add the OutputBinding for the operation.
      OutputBinding* myOutputBinding = new OutputBinding();
      myOutputBinding->Extensions->Add(mySoapBodyBinding);
      addOperationBinding->Output = myOutputBinding;

      // Add the extensibility element for the SoapOperationBinding.
      SoapOperationBinding* mySoapOperationBinding =
         new SoapOperationBinding();
      mySoapOperationBinding->Style = SoapBindingStyle::Document;
      mySoapOperationBinding->SoapAction = String::Concat(myTargetNamespace, addOperation);
      addOperationBinding->Extensions->Add(mySoapOperationBinding);

      // Get the BindingCollection from the ServiceDescription.
      BindingCollection* myBindingCollection =
         myServiceDescription->Bindings;

      // Get the OperationBindingCollection of SOAP binding from
      // the BindingCollection.
      OperationBindingCollection* myOperationBindingCollection =
         myBindingCollection->Item[0]->Operations;

      // Check for the Add OperationBinding in the collection.
      bool contains = myOperationBindingCollection->Contains(addOperationBinding);
      Console::WriteLine( S"\nWhether the collection contains the Add OperationBinding : {0}", __box(contains));

      // Add the Add OperationBinding to the collection.
      myOperationBindingCollection->Add(addOperationBinding);
      Console::WriteLine(S"\nAdded the OperationBinding of the Add"
         S" operation to the collection.");

      // Get the OperationBinding of the Add operation from the collection.
      OperationBinding* myOperationBinding =
         myOperationBindingCollection->Item[3];

      // Remove the OperationBinding of the Add operation from
      // the collection.
      myOperationBindingCollection->Remove(myOperationBinding);
      Console::WriteLine(S"\nRemoved the OperationBinding of the "
         S"Add operation from the collection.");

      // Insert the OperationBinding of the Add operation at index 0.
      myOperationBindingCollection->Insert(0, addOperationBinding);
      Console::WriteLine(S"\nInserted the OperationBinding of the "
         S"Add operation in the collection.");

      // Get the index of the OperationBinding of the Add
      // operation from the collection.
      int index = myOperationBindingCollection->IndexOf(addOperationBinding);
      Console::WriteLine(S"\nThe index of the OperationBinding of the Add operation : {0}", __box(index));
      Console::WriteLine(S"");

      OperationBinding* operationBindingArray[] = new
         OperationBinding*[myOperationBindingCollection->Count];

      // Copy this collection to the OperationBinding array.
      myOperationBindingCollection->CopyTo(operationBindingArray, 0);
      Console::WriteLine(S"The operations supported by this service "
         S"are :");
      System::Collections::IEnumerator* myEnum = operationBindingArray->GetEnumerator();
      while (myEnum->MoveNext())
      {
         OperationBinding* myOperationBinding1 = __try_cast<OperationBinding*>(myEnum->Current);
         Binding* myBinding = myOperationBinding1->Binding;
         Console::WriteLine(String::Format( S" Binding : {0} Name of operation : {1}", myBinding->Name, myOperationBinding1->Name ));
      }

      // Save the ServiceDescription to an external file.
      myServiceDescription->Write(S"MathService_new_cs.wsdl");
   }
   catch(Exception* e)
   {
      Console::WriteLine(S"Exception caught!!!");
      Console::WriteLine(S"Source : {0}", e->Source);
      Console::WriteLine(S"Message : {0}", e->Message);
   }
}

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

必要条件

名前空間: System.Web.Services.Description

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

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

参照

OperationBindingCollection メンバ | System.Web.Services.Description 名前空間