OperationBindingCollection Class

 

Represents a collection of instances of the OperationBinding class. This class cannot be inherited.

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

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

public ref class OperationBindingCollection sealed : ServiceDescriptionBaseCollection

NameDescription
System_CAPS_pubpropertyCapacity

Gets or sets the number of elements that the CollectionBase can contain.(Inherited from CollectionBase.)

System_CAPS_pubpropertyCount

Gets the number of elements contained in the CollectionBase instance. This property cannot be overridden.(Inherited from CollectionBase.)

System_CAPS_pubpropertyItem[Int32]

Gets or sets the value of an OperationBinding at the specified zero-based index.

NameDescription
System_CAPS_pubmethodAdd(OperationBinding^)

Adds the specified OperationBinding to the end of the OperationBindingCollection.

System_CAPS_pubmethodClear()

Removes all objects from the CollectionBase instance. This method cannot be overridden.(Inherited from CollectionBase.)

System_CAPS_pubmethodContains(OperationBinding^)

Returns a value indicating whether the specified OperationBinding is a member of the OperationBindingCollection.

System_CAPS_pubmethodCopyTo(array<OperationBinding^>^, Int32)

Copies the entire OperationBindingCollection to a compatible one-dimensional array of type OperationBinding, starting at the specified zero-based index of the target array.

System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetEnumerator()

Returns an enumerator that iterates through the CollectionBase instance.(Inherited from CollectionBase.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIndexOf(OperationBinding^)

Searches for the specified OperationBinding and returns the zero-based index of the first occurrence within the collection.

System_CAPS_pubmethodInsert(Int32, OperationBinding^)

Adds the specified OperationBinding instance to the OperationBindingCollection at the specified zero-based index.

System_CAPS_pubmethodRemove(OperationBinding^)

Removes the first occurrence of the specified OperationBinding from the OperationBindingCollection.

System_CAPS_pubmethodRemoveAt(Int32)

Removes the element at the specified index of the CollectionBase instance. This method is not overridable.(Inherited from CollectionBase.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection::CopyTo(Array^, Int32)

Copies the entire CollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList::Add(Object^)

Adds an object to the end of the CollectionBase.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList::Contains(Object^)

Determines whether the CollectionBase contains a specific element.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList::IndexOf(Object^)

Searches for the specified Object and returns the zero-based index of the first occurrence within the entire CollectionBase.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList::Insert(Int32, Object^)

Inserts an element into the CollectionBase at the specified index.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList::Remove(Object^)

Removes the first occurrence of a specific object from the CollectionBase.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection::IsSynchronized

Gets a value indicating whether access to the CollectionBase is synchronized (thread safe).(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection::SyncRoot

Gets an object that can be used to synchronize access to the CollectionBase.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList::IsFixedSize

Gets a value indicating whether the CollectionBase has a fixed size.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList::IsReadOnly

Gets a value indicating whether the CollectionBase is read-only.(Inherited from CollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList::Item[Int32]

Gets or sets the element at the specified index.(Inherited from CollectionBase.)

NameDescription
System_CAPS_pubmethodAsParallel()

Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.)

The OperationBinding class corresponds to the Web Services Description Language (WSDL) <operation> element enclosed by the <binding> element, which in turn corresponds to the Binding class. For more information about WSDL, see the specification at http://www.w3.org/TR/wsdl/.

#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( "MathService_input_cpp.wsdl" );

      // Add the OperationBinding for the Add operation.
      OperationBinding^ addOperationBinding = gcnew OperationBinding;
      String^ addOperation = "Add";
      String^ myTargetNamespace = myServiceDescription->TargetNamespace;
      addOperationBinding->Name = addOperation;

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

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

      // Add the extensibility element for the SoapOperationBinding.
      SoapOperationBinding^ mySoapOperationBinding = gcnew 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[ 0 ]->Operations;

      // Check for the Add OperationBinding in the collection.
      bool contains = myOperationBindingCollection->Contains( addOperationBinding );
      Console::WriteLine( "\nWhether the collection contains the Add OperationBinding : {0}", 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 : {0}", index );

      Console::WriteLine( "" );

      array<OperationBinding^>^operationBindingArray =
            gcnew array<OperationBinding^>(myOperationBindingCollection->Count);

      // Copy this collection to the OperationBinding array.
      myOperationBindingCollection->CopyTo( operationBindingArray, 0 );
      Console::WriteLine( "The operations supported by this service "
      "are :" );

      for each(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_cpp.wsdl" );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception caught!!!" );
      Console::WriteLine( "Source : {0}", e->Source );
      Console::WriteLine( "Message : {0}", e->Message );
   }
}

.NET Framework
Available since 1.1

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

Return to top
Show: