This documentation is archived and is not being maintained.
Service.Ports Property
.NET Framework 1.1
Gets the collection of Port instances contained in the Service.
[Visual Basic] Public ReadOnly Property Ports As PortCollection [C#] public PortCollection Ports {get;} [C++] public: __property PortCollection* get_Ports(); [JScript] public function get Ports() : PortCollection;
Property Value
Example
[Visual Basic] Imports System Imports System.Web.Services.Description Imports System.Xml Imports Microsoft.VisualBasic Class MyServiceClass Public Shared Sub Main() Try Dim myServiceDescription As ServiceDescription = _ ServiceDescription.Read("MathService_VB.wsdl") Dim myServiceCollection As ServiceCollection = _ myServiceDescription.Services Dim noOfServices As Integer = myServiceCollection.Count Console.WriteLine(ControlChars.Newline & _ "Total number of services: " & noOfServices.ToString()) ' Get a reference to the service. Dim myOldService As Service = myServiceCollection(0) Console.WriteLine("No.of Ports in the Service" & _ myServiceCollection(0).Ports.Count.ToString()) Console.WriteLine("These are the ports in the service:") Dim i As Integer For i = 0 To myOldService.Ports.Count - 1 Console.WriteLine("Port name: " & myOldService.Ports(i).Name) Next i Console.WriteLine("Service name: " & myOldService.Name) Dim myService As New Service() myService.Name = "MathService" ' Add the ports to the newly created service. For i = 0 To myOldService.Ports.Count - 1 Dim PortName As String = myServiceCollection(0).Ports(i).Name Dim BindingName As String = _ myServiceCollection(0).Ports(i).Binding.Name myService.Ports.Add(CreatePort(PortName, BindingName, _ myServiceDescription.TargetNamespace)) Next i Console.WriteLine("Newly created ports -") For i = 0 To myService.Ports.Count - 1 Console.WriteLine("Port Name: " & myOldService.Ports(i).Name) Next i ' Add the extensions to the newly created service. Dim noOfExtensions As Integer = myOldService.Extensions.Count Console.WriteLine("No. of extensions: " & noOfExtensions.ToString()) If noOfExtensions > 0 Then For i = 0 To myOldService.Ports.Count - 1 myService.Extensions.Add(myServiceCollection(0).Extensions(i)) Next i End If ' Remove the service from the collection. myServiceCollection.Remove(myOldService) ' Add the newly created service. myServiceCollection.Add(myService) myServiceDescription.Write("MathService_New.wsdl") Catch e As Exception Console.WriteLine("Exception: " & e.Message.ToString()) End Try End Sub 'Main Public Shared Function CreatePort(PortName As String, _ BindingName As String, targetNamespace As String) As Port Dim myPort As New Port() myPort.Name = PortName myPort.Binding = New XmlQualifiedName(BindingName, targetNamespace) ' Create a SoapAddress extensibility element to add to the port. Dim mySoapAddressBinding As New SoapAddressBinding() mySoapAddressBinding.Location = _ "http://localhost/Service_Class/MathService_VB.asmx" myPort.Extensions.Add(mySoapAddressBinding) Return myPort End Function 'CreatePort End Class 'MyServiceClass [C#] using System; using System.Web.Services.Description; using System.Xml; class MyServiceClass { public static void Main() { try { ServiceDescription myServiceDescription = ServiceDescription.Read("MathService_CS.wsdl"); ServiceCollection myServiceCollection = myServiceDescription.Services; int noOfServices = myServiceCollection.Count; Console.WriteLine("\nTotal number of services: " + noOfServices); // Get a reference to the service. Service myOldService = myServiceCollection[0]; Console.WriteLine("No. of Ports in the Service" + myServiceCollection[0].Ports.Count); Console.WriteLine("These are the ports in the service:"); for(int i = 0; i < myOldService.Ports.Count; i++) Console.WriteLine("Port name: " + myOldService.Ports[i].Name); Console.WriteLine("Service name: " + myOldService.Name); Service myService = new Service(); myService.Name = "MathService"; // Add the ports to the newly created service. for(int i = 0; i < myOldService.Ports.Count; i++) { string PortName = myServiceCollection[0].Ports[i].Name; string BindingName = myServiceCollection[0].Ports[i].Binding.Name; myService.Ports.Add(CreatePort(PortName, BindingName, myServiceDescription.TargetNamespace)); } Console.WriteLine("Newly created ports -"); for(int i = 0; i < myService.Ports.Count; i++) Console.WriteLine("Port Name: " + myOldService.Ports[i].Name); // Add the extensions to the newly created service. int noOfExtensions = myOldService.Extensions.Count; Console.WriteLine("No. of extensions: " + noOfExtensions); if (noOfExtensions > 0) { for(int i = 0; i <myOldService.Ports.Count; i++) myService.Extensions.Add( myServiceCollection[0].Extensions[i]); } // Remove the service from the collection. myServiceCollection.Remove(myOldService); // Add the newly created service. myServiceCollection.Add(myService); myServiceDescription.Write("MathService_New.wsdl"); } catch(Exception e) { Console.WriteLine("Exception: " + e.Message); } } public static Port CreatePort(string PortName, string BindingName, string targetNamespace) { Port myPort = new Port(); myPort.Name = PortName; myPort.Binding = new XmlQualifiedName(BindingName,targetNamespace); // Create a SoapAddress extensibility element to add to the port. SoapAddressBinding mySoapAddressBinding = new SoapAddressBinding(); mySoapAddressBinding.Location = "http://localhost/Service_Class/MathService_CS.asmx"; myPort.Extensions.Add(mySoapAddressBinding); return myPort; } } [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; Port* CreatePort(String* PortName, String* BindingName, String* targetNamespace) { Port* myPort = new Port(); myPort->Name = PortName; myPort->Binding = new XmlQualifiedName(BindingName,targetNamespace); // Create a SoapAddress extensibility element to add to the port. SoapAddressBinding* mySoapAddressBinding = new SoapAddressBinding(); mySoapAddressBinding->Location = S"http://localhost/Service_Class/MathService_CS.asmx"; myPort->Extensions->Add(mySoapAddressBinding); return myPort; } int main() { try { ServiceDescription* myServiceDescription = ServiceDescription::Read(S"MathService_CS.wsdl"); ServiceCollection* myServiceCollection = myServiceDescription->Services; int noOfServices = myServiceCollection->Count; Console::WriteLine(S"\nTotal number of services: {0}", __box(noOfServices)); // Get a reference to the service. Service* myOldService = myServiceCollection->Item[0]; Console::WriteLine(S"No. of Ports in the Service{0}", __box(myServiceCollection->Item[0]->Ports->Count)); Console::WriteLine(S"These are the ports in the service:"); for(int i = 0; i < myOldService->Ports->Count; i++) Console::WriteLine(S"Port name: {0}", myOldService->Ports->Item[i]->Name); Console::WriteLine(S"Service name: {0}", myOldService->Name); Service* myService = new Service(); myService->Name = S"MathService"; // Add the ports to the newly created service. for(int i = 0; i < myOldService->Ports->Count; i++) { String* PortName = myServiceCollection->Item[0]->Ports->Item[i]->Name; String* BindingName = myServiceCollection->Item[0]->Ports->Item[i]->Binding->Name; myService->Ports->Add(CreatePort(PortName, BindingName, myServiceDescription->TargetNamespace)); } Console::WriteLine(S"Newly created ports -"); for(int i = 0; i < myService->Ports->Count; i++) Console::WriteLine(S"Port Name: {0}", myOldService->Ports->Item[i]->Name); // Add the extensions to the newly created service. int noOfExtensions = myOldService->Extensions->Count; Console::WriteLine(S"No. of extensions: {0}", __box(noOfExtensions)); if (noOfExtensions > 0) { for(int i = 0; i <myOldService->Ports->Count; i++) myService->Extensions->Add( myServiceCollection->Item[0]->Extensions->Item[i]); } // Remove the service from the collection. myServiceCollection->Remove(myOldService); // Add the newly created service. myServiceCollection->Add(myService); myServiceDescription->Write(S"MathService_New.wsdl"); } catch(Exception* e) { Console::WriteLine(S"Exception: {0}", e->Message); } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
Service Class | Service Members | System.Web.Services.Description Namespace
Show: