Partager via


ServiceDescriptionBaseCollection Classe

Définition

Constitue la base pour les collections fortement typées qui sont membres de l’espace de noms System.Web.Services.Description.

public ref class ServiceDescriptionBaseCollection abstract : System::Collections::CollectionBase
public abstract class ServiceDescriptionBaseCollection : System.Collections.CollectionBase
type ServiceDescriptionBaseCollection = class
    inherit CollectionBase
Public MustInherit Class ServiceDescriptionBaseCollection
Inherits CollectionBase
Héritage
ServiceDescriptionBaseCollection
Dérivé

Exemples

static void MyMethod( ServiceDescriptionBaseCollection^ myServiceCollection )
{
   Type^ myType = myServiceCollection->GetType();
   if ( myType->Equals( System::Web::Services::Description::ServiceCollection::typeid ) )
   {
      // Remove the services at index 0 of the collection.
      (dynamic_cast<ServiceCollection^>(myServiceCollection))->Remove( myServiceDescription->Services[ 0 ] );

      // Build a new Service.
      Service^ myService = gcnew Service;
      myService->Name = "MathService";
      XmlQualifiedName^ myXmlQualifiedName = gcnew XmlQualifiedName( "s0:MathServiceSoap" );

      // Build a new Port for SOAP.
      Port^ mySoapPort = gcnew Port;
      mySoapPort->Name = "MathServiceSoap";
      mySoapPort->Binding = myXmlQualifiedName;
      SoapAddressBinding^ mySoapAddressBinding = gcnew SoapAddressBinding;
      mySoapAddressBinding->Location = "http://localhost/"
      "ServiceDescriptionBaseCollection/AddSubtractService.CS.asmx";
      mySoapPort->Extensions->Add( mySoapAddressBinding );

      // Build a new Port for HTTP-GET.
      XmlQualifiedName^ myXmlQualifiedName2 = gcnew XmlQualifiedName( "s0:MathServiceHttpGet" );
      Port^ myHttpGetPort = gcnew Port;
      myHttpGetPort->Name = "MathServiceHttpGet";
      myHttpGetPort->Binding = myXmlQualifiedName2;
      HttpAddressBinding^ myHttpAddressBinding = gcnew HttpAddressBinding;
      myHttpAddressBinding->Location = "http://localhost/"
      "ServiceDescriptionBaseCollection/AddSubtractService.CS.asmx";
      myHttpGetPort->Extensions->Add( myHttpAddressBinding );

      // Add the ports to the Service.
      myService->Ports->Add( myHttpGetPort );
      myService->Ports->Add( mySoapPort );

      // Add the Service to the ServiceCollection.
      myServiceDescription->Services->Add( myService );
   }
   else
   if ( myType->Equals( System::Web::Services::Description::BindingCollection::typeid ) )
   {
      // Remove the Binding in the BindingCollection at index 0.
      (dynamic_cast<BindingCollection^>(myServiceCollection))->Remove( myServiceDescription->Bindings[ 0 ] );

      // Build a new Binding.
      Binding^ myBinding = gcnew Binding;
      myBinding->Name = "MathServiceSoap";
      XmlQualifiedName^ myXmlQualifiedName = gcnew XmlQualifiedName( "s0:MathServiceSoap" );
      myBinding->Type = myXmlQualifiedName;
      SoapBinding^ mySoapBinding = gcnew SoapBinding;
      mySoapBinding->Transport = "http://schemas.xmlsoap.org/soap/http";
      mySoapBinding->Style = SoapBindingStyle::Document;

      // Create the operations for the binding.
      OperationBinding^ addOperationBinding = CreateOperationBinding( "Add", myServiceDescription->TargetNamespace );
      OperationBinding^ subtractOperationBinding = CreateOperationBinding( "Subtract", myServiceDescription->TargetNamespace );

      // Add the operations to the Binding.
      myBinding->Operations->Add( subtractOperationBinding );
      myBinding->Operations->Add( addOperationBinding );
      myBinding->Extensions->Add( mySoapBinding );

      // Add the Binding to the Bindings collection.
      myServiceDescription->Bindings->Add( myBinding );
   }
   else
   if ( myType->Equals( System::Web::Services::Description::PortTypeCollection::typeid ) )
   {
      // Remove the PortType at index 0.
      (dynamic_cast<PortTypeCollection^>(myServiceCollection))->Remove( myServiceDescription->PortTypes[ 0 ] );

      // Build a new PortType.
      PortType^ myPortType = gcnew PortType;
      myPortType->Name = "MathServiceSoap";

      // Build an Add Operation for the PortType.
      Operation^ myAddOperation = gcnew Operation;
      myAddOperation->Name = "Add";

      // Build the Input and Output messages for the Operations.
      OperationInput^ myOperationInputMessage1 = gcnew OperationInput;
      XmlQualifiedName^ myXmlQualifiedName1 = gcnew XmlQualifiedName( "s0:AddSoapIn" );
      myOperationInputMessage1->Message = myXmlQualifiedName1;
      OperationOutput^ myOperationOutputMessage1 = gcnew OperationOutput;
      XmlQualifiedName^ myXmlQualifiedName2 = gcnew XmlQualifiedName( "s0:AddSoapOut" );
      myOperationOutputMessage1->Message = myXmlQualifiedName2;

      // Add the messages to the operations.
      myAddOperation->Messages->Add( myOperationInputMessage1 );
      myAddOperation->Messages->Add( myOperationOutputMessage1 );

      // Build an Add Operation for the PortType.
      Operation^ mySubtractOperation = gcnew Operation;
      mySubtractOperation->Name = "Subtract";

      // Build the Input and Output messages for the operations.
      OperationInput^ myOperationInputMessage2 = gcnew OperationInput;
      XmlQualifiedName^ myXmlQualifiedName3 = gcnew XmlQualifiedName( "s0:SubtractSoapIn" );
      myOperationInputMessage2->Message = myXmlQualifiedName3;
      OperationOutput^ myOperationOutputMessage2 = gcnew OperationOutput;
      XmlQualifiedName^ myXmlQualifiedName4 = gcnew XmlQualifiedName( "s0:SubtractSoapOut" );
      myOperationOutputMessage2->Message = myXmlQualifiedName4;

      // Add the messages to the operations.
      mySubtractOperation->Messages->Add( myOperationInputMessage2 );
      mySubtractOperation->Messages->Add( myOperationOutputMessage2 );

      // Add the operations to the PortType.
      myPortType->Operations->Add( myAddOperation );
      myPortType->Operations->Add( mySubtractOperation );

      // Add the PortType to the collection.
      myServiceDescription->PortTypes->Add( myPortType );
   }
}
public static void MyMethod(
   ServiceDescriptionBaseCollection myServiceCollection)
{
   Type myType = myServiceCollection.GetType();
   if (myType.Equals(
      typeof(System.Web.Services.Description.ServiceCollection)))
   {
      // Remove the services at index 0 of the collection.
      ((ServiceCollection)myServiceCollection).Remove(
         myServiceDescription.Services[0]);

      // Build a new Service.
      Service myService =new Service();
      myService.Name="MathService";
      XmlQualifiedName myXmlQualifiedName =
         new XmlQualifiedName("s0:MathServiceSoap");

      // Build a new Port for SOAP.
      Port mySoapPort= new Port();
      mySoapPort.Name="MathServiceSoap";
      mySoapPort.Binding=myXmlQualifiedName;
      SoapAddressBinding mySoapAddressBinding = new SoapAddressBinding();
      mySoapAddressBinding.Location = "http://localhost/" +
         "ServiceDescriptionBaseCollection/AddSubtractService.CS.asmx";
      mySoapPort.Extensions.Add(mySoapAddressBinding);

      // Build a new Port for HTTP-GET.
      XmlQualifiedName myXmlQualifiedName2 =
         new XmlQualifiedName("s0:MathServiceHttpGet");
      Port myHttpGetPort= new Port();
      myHttpGetPort.Name="MathServiceHttpGet";
      myHttpGetPort.Binding=myXmlQualifiedName2;
      HttpAddressBinding myHttpAddressBinding = new HttpAddressBinding();
      myHttpAddressBinding.Location = "http://localhost/" +
         "ServiceDescriptionBaseCollection/AddSubtractService.CS.asmx";
      myHttpGetPort.Extensions.Add(myHttpAddressBinding);

      // Add the ports to the Service.
      myService.Ports.Add(myHttpGetPort);
      myService.Ports.Add(mySoapPort);

      // Add the Service to the ServiceCollection.
      myServiceDescription.Services.Add(myService);
   }
   else if(myType.Equals(
      typeof(System.Web.Services.Description.BindingCollection)))
   {
      // Remove the Binding in the BindingCollection at index 0.
      ((BindingCollection)myServiceCollection).Remove(
         myServiceDescription.Bindings[0]);

      // Build a new Binding.
      Binding myBinding = new Binding();
      myBinding.Name = "MathServiceSoap";
      XmlQualifiedName myXmlQualifiedName =
         new XmlQualifiedName("s0:MathServiceSoap");
      myBinding.Type=myXmlQualifiedName;
      SoapBinding mySoapBinding = new SoapBinding();
      mySoapBinding.Transport = "http://schemas.xmlsoap.org/soap/http";
      mySoapBinding.Style = SoapBindingStyle.Document;

      // Create the operations for the binding.
      OperationBinding addOperationBinding = CreateOperationBinding(
         "Add", myServiceDescription.TargetNamespace);
      OperationBinding subtractOperationBinding = CreateOperationBinding(
         "Subtract",myServiceDescription.TargetNamespace);

      // Add the operations to the Binding.
      myBinding.Operations.Add(subtractOperationBinding);
      myBinding.Operations.Add(addOperationBinding);
      myBinding.Extensions.Add(mySoapBinding);

      // Add the Binding to the Bindings collection.
      myServiceDescription.Bindings.Add(myBinding);
   }
   else if (myType.Equals(
      typeof(System.Web.Services.Description.PortTypeCollection)))
   {
      // Remove the PortType at index 0.
      ((PortTypeCollection)myServiceCollection).Remove(
         myServiceDescription.PortTypes[0]);

      // Build a new PortType.
       PortType myPortType = new PortType();
       myPortType.Name = "MathServiceSoap";

      // Build an Add Operation for the PortType.
       Operation myAddOperation = new Operation();
       myAddOperation.Name="Add";

       // Build the Input and Output messages for the Operations.
       OperationInput myOperationInputMessage1 = new OperationInput();
       XmlQualifiedName myXmlQualifiedName1 =
          new XmlQualifiedName("s0:AddSoapIn");
       myOperationInputMessage1.Message = myXmlQualifiedName1;

       OperationOutput myOperationOutputMessage1 = new OperationOutput();
       XmlQualifiedName myXmlQualifiedName2 =
          new XmlQualifiedName("s0:AddSoapOut");
       myOperationOutputMessage1.Message=myXmlQualifiedName2;

       // Add the messages to the operations.
       myAddOperation.Messages.Add(myOperationInputMessage1);
       myAddOperation.Messages.Add(myOperationOutputMessage1);

       // Build an Add Operation for the PortType.
       Operation mySubtractOperation = new Operation();
       mySubtractOperation.Name = "Subtract";

       // Build the Input and Output messages for the operations.
       OperationInput myOperationInputMessage2 = new OperationInput();
       XmlQualifiedName myXmlQualifiedName3 =
          new XmlQualifiedName("s0:SubtractSoapIn");
       myOperationInputMessage2.Message = myXmlQualifiedName3;
       OperationOutput myOperationOutputMessage2 = new OperationOutput();
       XmlQualifiedName myXmlQualifiedName4 =
          new XmlQualifiedName("s0:SubtractSoapOut");
       myOperationOutputMessage2.Message = myXmlQualifiedName4;

       // Add the messages to the operations.
       mySubtractOperation.Messages.Add(myOperationInputMessage2);
       mySubtractOperation.Messages.Add(myOperationOutputMessage2);

       // Add the operations to the PortType.
       myPortType.Operations.Add(myAddOperation);
       myPortType.Operations.Add(mySubtractOperation);

       // Add the PortType to the collection.
       myServiceDescription.PortTypes.Add(myPortType);
   }
 }
Public Shared Sub MyMethod(myServiceCollection As _
   ServiceDescriptionBaseCollection)
   Dim myType As Type = myServiceCollection.GetType()
   If myType.Equals( _
      GetType(System.Web.Services.Description.ServiceCollection)) Then

      ' Remove the services at index 0 of the collection.
      CType(myServiceCollection, ServiceCollection).Remove( _
         myServiceDescription.Services(0))

      ' Build a new Service.
      Dim myService As New Service()
      myService.Name = "MathService"
      Dim myXmlQualifiedName As _
         New XmlQualifiedName("s0:MathServiceSoap")

      ' Build a new Port for SOAP.
      Dim mySoapPort As New Port()
      mySoapPort.Name = "MathServiceSoap"
      mySoapPort.Binding = myXmlQualifiedName
      Dim mySoapAddressBinding As New SoapAddressBinding()
      mySoapAddressBinding.Location = "http://localhost/" & _
         "ServiceDescriptionBaseCollection_VB/AddSubtractService.VB.asmx"
      mySoapPort.Extensions.Add(mySoapAddressBinding)

      ' Build a new Port for HTTP-GET.
      Dim myXmlQualifiedName2 As _
         New XmlQualifiedName("s0:MathServiceHttpGet")
      Dim myHttpGetPort As New Port()
      myHttpGetPort.Name = "MathServiceHttpGet"
      myHttpGetPort.Binding = myXmlQualifiedName2
      Dim myHttpAddressBinding As New HttpAddressBinding()
      myHttpAddressBinding.Location = "http://localhost/" & _
         "ServiceDescriptionBaseCollection_VB/AddSubtractService.VB.asmx"
      myHttpGetPort.Extensions.Add(myHttpAddressBinding)

      ' Add the ports to the Service.
      myService.Ports.Add(myHttpGetPort)
      myService.Ports.Add(mySoapPort)

      ' Add the Service to the ServiceCollection.
      myServiceDescription.Services.Add(myService)
   Else
      If myType.Equals( _
         GetType(System.Web.Services.Description.BindingCollection)) Then

         ' Remove the Binding in the BindingCollection at index 0.
         CType(myServiceCollection, BindingCollection).Remove( _
            myServiceDescription.Bindings(0))

         ' Build a new Binding.
         Dim myBinding As New Binding()
         myBinding.Name = "MathServiceSoap"
         Dim myXmlQualifiedName As _
            New XmlQualifiedName("s0:MathServiceSoap")
         myBinding.Type = myXmlQualifiedName
         Dim mySoapBinding As New SoapBinding()
         mySoapBinding.Transport = "http://schemas.xmlsoap.org/soap/http"
         mySoapBinding.Style = SoapBindingStyle.Document

         ' Create the operations for the binding.
         Dim addOperationBinding As OperationBinding = _
            CreateOperationBinding("Add", _
            myServiceDescription.TargetNamespace)
         Dim subtractOperationBinding As OperationBinding = _
            CreateOperationBinding("Subtract", _
            myServiceDescription.TargetNamespace)

         ' Add the operations to the Binding.
         myBinding.Operations.Add(subtractOperationBinding)
         myBinding.Operations.Add(addOperationBinding)
         myBinding.Extensions.Add(mySoapBinding)

         ' Add the Binding to the Bindings collection.
         myServiceDescription.Bindings.Add(myBinding)
      Else
         If myType.Equals( _ 
            GetType(System.Web.Services.Description.PortTypeCollection)) Then

            ' Remove the PortType at index 0.
            CType(myServiceCollection, PortTypeCollection).Remove( _ 
               myServiceDescription.PortTypes(0))

            ' Build a new PortType.
            Dim myPortType As New PortType()
            myPortType.Name = "MathServiceSoap"

            ' Build an AddOperation for the PortType.
            Dim myAddOperation As New Operation()
            myAddOperation.Name = "Add"

            ' Build the Input and Output messages for the Operations.
            Dim myOperationInputMessage1 As New OperationInput()
            Dim myXmlQualifiedName1 As New XmlQualifiedName("s0:AddSoapIn")
            myOperationInputMessage1.Message = myXmlQualifiedName1
            
            Dim myOperationOutputMessage1 As New OperationOutput()
            Dim myXmlQualifiedName2 As New XmlQualifiedName("s0:AddSoapOut")
            myOperationOutputMessage1.Message = myXmlQualifiedName2

            ' Add the messages to the operations.
            myAddOperation.Messages.Add(myOperationInputMessage1)
            myAddOperation.Messages.Add(myOperationOutputMessage1)

            ' Build an Add Operation for the PortType.
            Dim mySubtractOperation As New Operation()
            mySubtractOperation.Name = "Subtract"

            ' Build the Input and Output messages for the operations.
            Dim myOperationInputMessage2 As New OperationInput()
            Dim myXmlQualifiedName3 As _
               New XmlQualifiedName("s0:SubtractSoapIn")
            myOperationInputMessage2.Message = myXmlQualifiedName3
            Dim myOperationOutputMessage2 As New OperationOutput()
            Dim myXmlQualifiedName4 As _
               New XmlQualifiedName("s0:SubtractSoapOut")
            myOperationOutputMessage2.Message = myXmlQualifiedName4

            ' Add the messages to the operations.
            mySubtractOperation.Messages.Add(myOperationInputMessage2)
            mySubtractOperation.Messages.Add(myOperationOutputMessage2)

            ' Add the operations to the PortType.
            myPortType.Operations.Add(myAddOperation)
            myPortType.Operations.Add(mySubtractOperation)

            ' Add the PortType to the collection.
            myServiceDescription.PortTypes.Add(myPortType)
         End If
      End If
   End If
End Sub

Propriétés

Capacity

Obtient ou définit le nombre d'éléments que CollectionBase peut contenir.

(Hérité de CollectionBase)
Count

Obtient le nombre d'éléments contenus dans l'instance CollectionBase. Cette propriété ne peut pas être remplacée.

(Hérité de CollectionBase)
InnerList

Obtient ArrayList contenant la liste des éléments dans l'instance de CollectionBase.

(Hérité de CollectionBase)
List

Obtient IList contenant la liste des éléments dans l'instance de CollectionBase.

(Hérité de CollectionBase)
Table

Obtient une interface qui implémente l'association des clés et des valeurs dans ServiceDescriptionBaseCollection.

Méthodes

Clear()

Supprime tous les objets de l'instance de CollectionBase. Cette méthode ne peut pas être substituée.

(Hérité de CollectionBase)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui itère au sein de l'instance CollectionBase.

(Hérité de CollectionBase)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetKey(Object)

Retourne le nom de la clé associée à la valeur passée par référence.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnClear()

Efface le contenu de l'instance ServiceDescriptionBaseCollection.

OnClearComplete()

Exécute des processus personnalisés supplémentaires après l'effacement du contenu de l'instance de CollectionBase.

(Hérité de CollectionBase)
OnInsert(Int32, Object)

Exécute les processus personnalisés supplémentaires avant l'insertion d'un nouvel élément dans l'instance de CollectionBase.

(Hérité de CollectionBase)
OnInsertComplete(Int32, Object)

Effectue des processus personnalisés supplémentaires lors de l'insertion d'un nouvel élément dans ServiceDescriptionBaseCollection.

OnRemove(Int32, Object)

Supprime un élément de ServiceDescriptionBaseCollection.

OnRemoveComplete(Int32, Object)

Exécute des processus personnalisés supplémentaires après la suppression d'un élément de l'instance de CollectionBase.

(Hérité de CollectionBase)
OnSet(Int32, Object, Object)

Remplace une valeur par une autre dans ServiceDescriptionBaseCollection.

OnSetComplete(Int32, Object, Object)

Exécute des processus personnalisés supplémentaires après la définition d'une valeur dans l'instance de CollectionBase.

(Hérité de CollectionBase)
OnValidate(Object)

Exécute des processus personnalisés supplémentaires lors de la validation d'une valeur.

(Hérité de CollectionBase)
RemoveAt(Int32)

Supprime l'élément à l'index spécifié de l'instance de CollectionBase. Cette méthode n'est pas substituable.

(Hérité de CollectionBase)
SetParent(Object, Object)

Définit l'objet parent de l'instance de ServiceDescriptionBaseCollection.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Copie l'ensemble de l'objet CollectionBase vers un objet Array unidimensionnel compatible, en commençant à l'index spécifié du tableau cible.

(Hérité de CollectionBase)
ICollection.IsSynchronized

Obtient une valeur indiquant si l’accès à CollectionBase est synchronisé (thread-safe).

(Hérité de CollectionBase)
ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à CollectionBase.

(Hérité de CollectionBase)
IList.Add(Object)

Ajoute un objet à la fin de la CollectionBase.

(Hérité de CollectionBase)
IList.Contains(Object)

Détermine si CollectionBase contient un élément spécifique.

(Hérité de CollectionBase)
IList.IndexOf(Object)

Recherche le Object spécifié et retourne l’index de base zéro de la première occurrence dans l’ensemble du CollectionBase.

(Hérité de CollectionBase)
IList.Insert(Int32, Object)

Insère un élément dans la classe CollectionBase au niveau de l'index spécifié.

(Hérité de CollectionBase)
IList.IsFixedSize

Obtient une valeur indiquant si CollectionBase est de taille fixe.

(Hérité de CollectionBase)
IList.IsReadOnly

Obtient une valeur indiquant si CollectionBase est en lecture seule.

(Hérité de CollectionBase)
IList.Item[Int32]

Obtient ou définit l'élément au niveau de l'index spécifié.

(Hérité de CollectionBase)
IList.Remove(Object)

Supprime la première occurrence d’un objet spécifique de CollectionBase.

(Hérité de CollectionBase)

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à