BindingCollection Класс

Определение

Представляет коллекцию привязок.

public ref class BindingCollection sealed : Microsoft::Web::Administration::ConfigurationElementCollectionBase<Microsoft::Web::Administration::Binding ^>
public sealed class BindingCollection : Microsoft.Web.Administration.ConfigurationElementCollectionBase<Microsoft.Web.Administration.Binding>
type BindingCollection = class
    inherit ConfigurationElementCollectionBase<Binding>
Public NotInheritable Class BindingCollection
Inherits ConfigurationElementCollectionBase(Of Binding)
Наследование

Примеры

В следующем примере отображается количество привязок к прослушивателю трассировки.

void ShowBE(Object propertyToConvert) {

    BindingCollection bindingColl = propertyToConvert as BindingCollection;
    int httpsCnt=0;
    int httpCnt=0;
    int unknownCnt=0;

    foreach (Microsoft.Web.Administration.Binding  bindElem in bindingColl) {
        if (bindElem.Protocol.Equals(
            "https", StringComparison.InvariantCultureIgnoreCase) ) {
            httpsCnt++;
        } else if (bindElem.Protocol.Equals(
            "http", StringComparison.InvariantCultureIgnoreCase) ){
           httpCnt++;
        }
        else 
            unknownCnt++;
    }
    Trace.WriteLine("HTTPS Cnt = " + httpsCnt.ToString());
    Trace.WriteLine("HTTP Cnt = " + httpCnt.ToString());
    Trace.WriteLine("Unknown Cnt = " + unknownCnt.ToString());
} 

В следующем примере перечислены все привязки для каждого сайта на сервере.

[ModuleServiceMethod(PassThrough = true)]
public ArrayList GetSiteCollection()
{
    // Use an ArrayList to transfer objects to the client.
    ArrayList arrayOfSitePropertyBags = new ArrayList();

    SiteCollection siteCollection = 
        base.ManagementUnit.ServerManager.Sites;
    Site siteToModify = null;
    string newbindinginformation = String.Empty;
    byte[] newcertificateHash = null;
    string newcertificateStoreName = String.Empty;
    Int32 bindingIndex = -1;
    // Find a binding with an https protocol, if one exists.
    // Capture the site, certificate hash, and the certificate store name.
    foreach (Site site in siteCollection)
    {
        PropertyBag siteBag = new PropertyBag();

        siteBag[TestDemoGlobals.SiteName] = site.Name;
        siteBag[TestDemoGlobals.SiteId] = site.Id;

        ArrayList siteBindingsArray = new ArrayList();
        foreach (Microsoft.Web.Administration.Binding binding in site.Bindings)
        {
            PropertyBag bindingBag = new PropertyBag();

            bindingBag[TestDemoGlobals.BindingInformation] = binding.BindingInformation;
            if (binding.Protocol == "https")
            {
                // Capture certificate information for binding to be created later
                siteToModify = site;
                newcertificateHash = binding.CertificateHash;
                newcertificateStoreName = binding.CertificateStoreName;

                // Add certificate data to binding property bag
                bindingBag[TestDemoGlobals.BindingCertificateHashType] = 
                    binding.CertificateHash.ToString();
                string hashString = String.Empty;
                foreach (System.Byte certhashbyte in binding.CertificateHash)
                {
                    hashString += certhashbyte.ToString() + " ";
                }
                bindingBag[TestDemoGlobals.BindingCertificateHash] = hashString;
                bindingBag[TestDemoGlobals.BindingCertificateHashStoreName] = binding.CertificateStoreName;
            }
            bindingBag[TestDemoGlobals.BindingProtocol] = binding.Protocol;
            bindingBag[TestDemoGlobals.BindingEndPoint] = binding.EndPoint;
            bindingBag[TestDemoGlobals.BindingHost] = binding.Host;
            bindingBag[TestDemoGlobals.BindingIsIPPortHostBinding] = binding.IsIPPortHostBinding;
            bindingBag[TestDemoGlobals.BindingToString] = binding.ToString();
            bindingBag[TestDemoGlobals.BindingUseDsMapper] = binding.UseDsMapper;

            siteBindingsArray.Add(bindingBag);
        }

        siteBag[TestDemoGlobals.BindingsArrayList] = siteBindingsArray;

        arrayOfSitePropertyBags.Add(siteBag);
    }
    // Adding a duplicate binding throws an error.
    if (siteToModify != null)
    {
        newbindinginformation = "*:448:TestingSite";
        try
        {
            // Add this binding. It does not already exist. 
            siteToModify.Bindings.Add(newbindinginformation, newcertificateHash, newcertificateStoreName);
        }
        catch
        {
            // Remove this binding. It already exists.
            foreach (Microsoft.Web.Administration.Binding binding in siteToModify.Bindings)
            {
                if (binding.BindingInformation == newbindinginformation)
                {
                    bindingIndex = siteToModify.Bindings.IndexOf(binding);
                }
            }
            if (bindingIndex != -1)
            {
                siteToModify.Bindings.RemoveAt(bindingIndex);
            }
        }
        // Update information and save in Administration.config file.
        ManagementUnit.Update();
    }
    return arrayOfSitePropertyBags;
}

Комментарии

Привязки для сайта можно просмотреть в диалоговом окне Привязки сайта в диспетчере IIS. Чтобы открыть диалоговое окно, щелкните правой кнопкой мыши узел сайта на панели Подключения и выберите изменить привязки. В диалоговом окне Привязки сайта отображаются Binding объекты в объекте BindingCollection для сайта.

BindingCollection Изменения объекта не отражаются в диспетчере IIS до тех пор, пока файл ApplicationHost.config не будет обновлен вызовом Microsoft.Web.Management.Server.ManagementUnit.Update метода .

Свойства

AllowsAdd

Возвращает значение, указывающее, определено ли add имя элемента в текущей схеме коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
AllowsClear

Возвращает значение, указывающее, определено ли clear имя элемента в текущей схеме коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
AllowsRemove

Возвращает значение, указывающее, определено ли remove имя элемента в текущей схеме коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
Attributes

Возвращает коллекцию атрибутов конфигурации, содержащую список атрибутов для этого элемента.

(Унаследовано от ConfigurationElement)
ChildElements

Возвращает все дочерние элементы текущего элемента.

(Унаследовано от ConfigurationElement)
Count

Возвращает количество элементов в коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
ElementTagName

Представляет коллекцию привязок.

(Унаследовано от ConfigurationElement)
IsLocallyStored

Возвращает значение, указывающее, хранится ли элемент конфигурации в определенном файле конфигурации.

(Унаследовано от ConfigurationElement)
Item[Int32]

Возвращает элемент конфигурации по указанному индексу.

(Унаследовано от ConfigurationElementCollectionBase<T>)
Item[String]

Возвращает или задает атрибут с указанным именем.

(Унаследовано от ConfigurationElement)
Methods

Возвращает коллекцию методов для элемента конфигурации.

(Унаследовано от ConfigurationElement)
RawAttributes

Представляет коллекцию привязок.

(Унаследовано от ConfigurationElement)
Schema

Возвращает схему, описывающую коллекцию элементов конфигурации.

(Унаследовано от ConfigurationElementCollectionBase<T>)

Методы

Add(Binding)

Добавляет безопасную привязку в конец коллекции.

Add(String, Byte[], String)

Добавляет безопасную привязку в коллекцию привязок.

Add(String, Byte[], String, SslFlags)

Представляет коллекцию привязок.

Add(String, String)

Добавляет привязку с указанным протоколом и сведениями о привязке в коллекцию привязок.

Add(T)

Добавляет элемент конфигурации в конец текущей коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
AddAt(Int32, T)

Добавляет элемент конфигурации в текущую коллекцию по указанному индексу.

(Унаследовано от ConfigurationElementCollectionBase<T>)
Clear()

Очищает все элементы конфигурации из текущей коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
CreateElement()

Создает новый дочерний элемент для текущей коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
CreateElement(String)

Создает новый дочерний элемент, используя указанное имя.

(Унаследовано от ConfigurationElementCollectionBase<T>)
CreateNewElement(String)

Создает новый элемент, используя указанное имя элемента.

(Унаследовано от ConfigurationElementCollectionBase<T>)
Delete()

Представляет коллекцию привязок.

(Унаследовано от ConfigurationElement)
GetAttribute(String)

ConfigurationAttribute Возвращает объект , представляющий запрошенный атрибут.

(Унаследовано от ConfigurationElement)
GetAttributeValue(String)

Возвращает значение заданного атрибута.

(Унаследовано от ConfigurationElement)
GetChildElement(String)

Возвращает дочерний элемент, который находится под текущим элементом конфигурации и имеет указанное имя.

(Унаследовано от ConfigurationElement)
GetChildElement(String, Type)

Возвращает дочерний элемент, который находится под текущим элементом конфигурации и имеет указанное имя и тип.

(Унаследовано от ConfigurationElement)
GetCollection()

Возвращает коллекцию по умолчанию для текущего элемента конфигурации.

(Унаследовано от ConfigurationElement)
GetCollection(String)

Возвращает все элементы конфигурации, принадлежащие текущему элементу конфигурации.

(Унаследовано от ConfigurationElement)
GetCollection(String, Type)

Возвращает элемент конфигурации с указанным именем и типом, который находится в текущем элементе конфигурации.

(Унаследовано от ConfigurationElement)
GetCollection(Type)

Возвращает элемент конфигурации, который имеет указанный тип и находится в текущем элементе конфигурации.

(Унаследовано от ConfigurationElement)
GetEnumerator()

Возвращает перечислитель, который осуществляет итерацию по коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
GetMetadata(String)

Возвращает значения метаданных из схемы элемента.

(Унаследовано от ConfigurationElement)
IndexOf(T)

Определяет индекс элемента в коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
Remove(Binding)

Удаляет указанную привязку из коллекции привязки.

Remove(Binding, Boolean)

Представляет коллекцию привязок.

Remove(T)

Удаляет первое вхождение элемента из коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)
RemoveAt(Int32)

Удаляет привязку по указанному индексу.

SetAttributeValue(String, Object)

Задает значение указанного атрибута.

(Унаследовано от ConfigurationElement)
SetMetadata(String, Object)

Задает значения метаданных из схемы элемента.

(Унаследовано от ConfigurationElement)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Копирует элементы коллекции в массив начиная с определенного индекса в массиве.

(Унаследовано от ConfigurationElementCollectionBase<T>)
ICollection.Count

Представляет коллекцию привязок.

(Унаследовано от ConfigurationElementCollectionBase<T>)
ICollection.IsSynchronized

Представляет коллекцию привязок.

(Унаследовано от ConfigurationElementCollectionBase<T>)
ICollection.SyncRoot

Представляет коллекцию привязок.

(Унаследовано от ConfigurationElementCollectionBase<T>)
IEnumerable.GetEnumerator()

Возвращает перечислитель, выполняющий перебор элементов в коллекции.

(Унаследовано от ConfigurationElementCollectionBase<T>)

Применяется к