This documentation is archived and is not being maintained.

Service.Extensions Property

Gets the collection of extensibility elements associated with the Service.

[Visual Basic]
Public ReadOnly Property Extensions As _
   ServiceDescriptionFormatExtensionCollection
[C#]
public ServiceDescriptionFormatExtensionCollection Extensions
   {get;}
[C++]
public: __property ServiceDescriptionFormatExtensionCollection*
   get_Extensions();
[JScript]
public function get Extensions() :
   ServiceDescriptionFormatExtensionCollection;

Property Value

A ServiceDescriptionFormatExtensionCollection.

Example

[Visual Basic] 
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")

[C#] 
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");

[C++] 
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");

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter 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: