次の方法で共有


PortTypeCollection クラス

PortType クラスのインスタンスのコレクションを表します。これは XML Web サービスでサポートされる操作のセットのコレクションです。このクラスは継承できません。

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

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

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

スレッドセーフ

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

使用例

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

Class MyPortTypeCollectionClass
   Public Shared Sub Main()
      Try
         ' Read the existing Web service description file.
         Dim myServiceDescription As ServiceDescription = _
            ServiceDescription.Read("MathService_vb.wsdl")
         Dim myPortTypeCollection As PortTypeCollection = _
            myServiceDescription.PortTypes
         Dim noOfPortTypes As Integer = _
            myServiceDescription.PortTypes.Count
         Console.WriteLine( _
            ControlChars.Newline & "Total number of PortTypes: " & _
            myServiceDescription.PortTypes.Count.ToString())

         ' Get the first PortType in the collection.
         Dim myNewPortType As PortType = _
            myPortTypeCollection("MathServiceSoap")
         Dim index As Integer = myPortTypeCollection.IndexOf(myNewPortType)
         Console.WriteLine("The PortType with the name " & _
            myNewPortType.Name & " is at index: " & (index + 1).ToString())

         Console.WriteLine("Removing the PortType: " & myNewPortType.Name)

         ' Remove the PortType from the collection.
         myPortTypeCollection.Remove(myNewPortType)
         Dim bContains As Boolean = _
            myPortTypeCollection.Contains(myNewPortType)
         Console.WriteLine("The PortType with the Name " & _
            myNewPortType.Name & " exists: " & bContains.ToString())

         Console.WriteLine("Total Number of PortTypes after removing: " & _
            myServiceDescription.PortTypes.Count.ToString())

         Console.WriteLine("Adding a PortType: " & myNewPortType.Name)

         ' Add a new portType from the collection.
         myPortTypeCollection.Add(myNewPortType)

         ' Display the number of portTypes after adding a port.
         Console.WriteLine( _
            "Total Number of PortTypes after adding a new port: " & _
            myServiceDescription.PortTypes.Count.ToString())

         ' List the PortTypes available in the WSDL document.
         Dim myPortType As PortType
         For Each myPortType In  myPortTypeCollection
            Console.WriteLine("The PortType name is: " & myPortType.Name)
         Next myPortType
         myServiceDescription.Write("MathService_New.wsdl")
      Catch e As Exception
         Console.WriteLine("Exception: " & e.Message)
      End Try
   End Sub 'Main
End Class 'MyPortTypeCollectionClass

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

class MyPortTypeCollectionClass
{
   public static void Main()
   {
      try
      {
         // Read the existing Web service description file.
         ServiceDescription myServiceDescription = 
            ServiceDescription.Read("MathService_CS.wsdl");
         PortTypeCollection myPortTypeCollection = 
            myServiceDescription.PortTypes;
         int noOfPortTypes = myServiceDescription.PortTypes.Count;
         Console.WriteLine("\nTotal number of PortTypes: " 
            + myServiceDescription.PortTypes.Count);
         
         // Get the first PortType in the collection.
         PortType myNewPortType = myPortTypeCollection["MathServiceSoap"];
         int index = myPortTypeCollection.IndexOf(myNewPortType);
         Console.WriteLine("The PortType with the name " + myNewPortType.Name 
            + " is at index: " + (index+1));

         Console.WriteLine("Removing the PortType: " + myNewPortType.Name);

         // Remove the PortType from the collection.
         myPortTypeCollection.Remove(myNewPortType);
         bool bContains = myPortTypeCollection.Contains(myNewPortType);
         Console.WriteLine("The PortType with the name " + myNewPortType.Name 
            + " exists: " + bContains);

         Console.WriteLine("Total number of PortTypes after removing: "
            + myServiceDescription.PortTypes.Count);

         Console.WriteLine("Adding a PortType: " + myNewPortType.Name);

         // Add a new portType from the collection.
         myPortTypeCollection.Add(myNewPortType);

         // Display the number of portTypes after adding a port.
         Console.WriteLine("Total number of PortTypes after "
            + "adding a new port: " + myServiceDescription.PortTypes.Count);

         // List the PortTypes available in the WSDL document.
         foreach(PortType myPortType in myPortTypeCollection)
           Console.WriteLine("The PortType name is: " + myPortType.Name);
           
         myServiceDescription.Write("MathService_New.wsdl");
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception: " + 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;
using namespace System::Xml;
using namespace System::Collections;

int main()
{
   try
   {
      // Read the existing Web service description file.
      ServiceDescription* myServiceDescription = 
         ServiceDescription::Read(S"MathService_CS.wsdl");
      PortTypeCollection* myPortTypeCollection = 
         myServiceDescription->PortTypes;
      int noOfPortTypes = myServiceDescription->PortTypes->Count;
      Console::WriteLine(S"\nTotal number of PortTypes: {0}",
         __box(myServiceDescription->PortTypes->Count));

      // Get the first PortType in the collection.
      PortType* myNewPortType = myPortTypeCollection->Item[S"MathServiceSoap"];
      int index = myPortTypeCollection->IndexOf(myNewPortType);
      Console::WriteLine(S"The PortType with the name {0} is at index: {1}",
         myNewPortType->Name, __box((index+1)));

      Console::WriteLine(S"Removing the PortType: {0}", myNewPortType->Name);

      // Remove the PortType from the collection.
      myPortTypeCollection->Remove(myNewPortType);
      bool bContains = myPortTypeCollection->Contains(myNewPortType);
      Console::WriteLine(S"The PortType with the name {0} exists: {1}",
         myNewPortType->Name, __box(bContains));

      Console::WriteLine(S"Total number of PortTypes after removing: {0}",
         __box(myServiceDescription->PortTypes->Count));

      Console::WriteLine(S"Adding a PortType: {0}", myNewPortType->Name);

      // Add a new portType from the collection.
      myPortTypeCollection->Add(myNewPortType);

      // Display the number of portTypes after adding a port.
      Console::WriteLine(S"Total number of PortTypes after adding a new port: {0}",
         __box(myServiceDescription->PortTypes->Count));

      // List the PortTypes available in the WSDL document.
      IEnumerator* myEnum = myPortTypeCollection->GetEnumerator();
      while (myEnum->MoveNext())
      {
         PortType* myPortType = __try_cast<PortType*>(myEnum->Current);
         Console::WriteLine(S"The PortType name is: {0}", myPortType->Name);
      }

      myServiceDescription->Write(S"MathService_New.wsdl");
   }
   catch(Exception* e)
   {
      Console::WriteLine(S"Exception: {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 内)

参照

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