ServiceDescriptionBaseCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Формирует основу для строго типизированных коллекций, являющихся членами 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
- Наследование
- Производный
Примеры
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
Свойства
| Имя | Описание |
|---|---|
| Capacity |
Возвращает или задает количество элементов, которые CollectionBase могут содержаться. (Унаследовано от CollectionBase) |
| Count |
Возвращает количество элементов, содержащихся в экземпляре CollectionBase . Это свойство нельзя переопределить. (Унаследовано от CollectionBase) |
| InnerList |
ArrayList Возвращает список элементов в экземпляреCollectionBase. (Унаследовано от CollectionBase) |
| List |
IList Возвращает список элементов в экземпляреCollectionBase. (Унаследовано от CollectionBase) |
| Table |
Возвращает интерфейс, реализующий связь ключей и значений в объекте ServiceDescriptionBaseCollection. |
Методы
| Имя | Описание |
|---|---|
| Clear() |
Удаляет все объекты из экземпляра CollectionBase . Этот метод не может быть переопределен. (Унаследовано от CollectionBase) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetEnumerator() |
Возвращает перечислитель, который выполняет итерацию по экземпляру CollectionBase . (Унаследовано от CollectionBase) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetKey(Object) |
Возвращает имя ключа, связанного со значением, переданным по ссылке. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnClear() |
Очищает содержимое экземпляра ServiceDescriptionBaseCollection . |
| OnClearComplete() |
Выполняет дополнительные пользовательские процессы после очистки содержимого экземпляра CollectionBase . (Унаследовано от CollectionBase) |
| OnInsert(Int32, Object) |
Выполняет дополнительные пользовательские процессы перед вставкой нового элемента в CollectionBase экземпляр. (Унаследовано от CollectionBase) |
| OnInsertComplete(Int32, Object) |
Выполняет дополнительные пользовательские процессы после вставки нового элемента в объект ServiceDescriptionBaseCollection. |
| OnRemove(Int32, Object) |
Удаляет элемент из элемента ServiceDescriptionBaseCollection. |
| OnRemoveComplete(Int32, Object) |
Выполняет дополнительные пользовательские процессы после удаления элемента из экземпляра CollectionBase . (Унаследовано от CollectionBase) |
| OnSet(Int32, Object, Object) |
Заменяет одно значение другим в пределах ServiceDescriptionBaseCollection. |
| OnSetComplete(Int32, Object, Object) |
Выполняет дополнительные пользовательские процессы после задания значения в экземпляре CollectionBase . (Унаследовано от CollectionBase) |
| OnValidate(Object) |
Выполняет дополнительные пользовательские процессы при проверке значения. (Унаследовано от CollectionBase) |
| RemoveAt(Int32) |
Удаляет элемент по указанному индексу экземпляра CollectionBase . Этот метод не переопределяется. (Унаследовано от CollectionBase) |
| SetParent(Object, Object) |
Задает родительский объект экземпляра ServiceDescriptionBaseCollection . |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Копирует весь CollectionBase в совместимую одномерную Array, начиная с указанного индекса целевого массива. (Унаследовано от CollectionBase) |
| ICollection.IsSynchronized |
Возвращает значение, указывающее, синхронизирован ли доступ к CollectionBase (потокобезопасный). (Унаследовано от CollectionBase) |
| ICollection.SyncRoot |
Получает объект, который можно использовать для синхронизации доступа к объекту CollectionBase. (Унаследовано от CollectionBase) |
| IList.Add(Object) |
Добавляет объект в конец CollectionBase. (Унаследовано от CollectionBase) |
| IList.Contains(Object) |
Определяет, содержит ли CollectionBase определенный элемент. (Унаследовано от CollectionBase) |
| IList.IndexOf(Object) |
Выполняет поиск указанного Object и возвращает отсчитываемый от нуля индекс первого вхождения в течение всего CollectionBase. (Унаследовано от CollectionBase) |
| IList.Insert(Int32, Object) |
Вставляет элемент в CollectionBase указанный индекс. (Унаследовано от CollectionBase) |
| IList.IsFixedSize |
Возвращает значение, указывающее, имеет ли CollectionBase размер фиксированного размера. (Унаследовано от CollectionBase) |
| IList.IsReadOnly |
Возвращает значение, указывающее, доступен ли доступ CollectionBase только для чтения. (Унаследовано от CollectionBase) |
| IList.Item[Int32] |
Возвращает или задает элемент по указанному индексу. (Унаследовано от CollectionBase) |
| IList.Remove(Object) |
Удаляет первое вхождение определенного объекта из CollectionBase. (Унаследовано от CollectionBase) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |