Compartilhar via


BindingCollection Classe

Definição

Representa uma coleção de associações.

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)
Herança

Exemplos

O exemplo a seguir exibe a contagem de cada associação ao ouvinte de rastreamento.

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());
} 

O exemplo a seguir lista cada associação para cada site no servidor.

[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;
}

Comentários

Você pode exibir as associações de um site na caixa de diálogo Associações de Site no Gerenciador do IIS. Para abrir a caixa de diálogo, clique com o botão direito do mouse em um nó do site no painel Conexões e clique em Editar Associações. A caixa de diálogo Associações de Site exibe os Binding objetos no BindingCollection objeto do site.

As alterações no BindingCollection objeto não são refletidas no Gerenciador do IIS até que o arquivo ApplicationHost.config seja atualizado por uma chamada para o Microsoft.Web.Management.Server.ManagementUnit.Update método .

Propriedades

AllowsAdd

Obtém um valor que indica se um add nome de elemento é definido no esquema de coleção atual.

(Herdado de ConfigurationElementCollectionBase<T>)
AllowsClear

Obtém um valor que indica se um clear nome de elemento é definido no esquema de coleção atual.

(Herdado de ConfigurationElementCollectionBase<T>)
AllowsRemove

Obtém um valor que indica se um remove nome de elemento é definido no esquema de coleção atual.

(Herdado de ConfigurationElementCollectionBase<T>)
Attributes

Obtém uma coleção de atributos de configuração que contém a lista de atributos para esse elemento.

(Herdado de ConfigurationElement)
ChildElements

Obtém todos os elementos filho do elemento atual.

(Herdado de ConfigurationElement)
Count

Obtém o número de itens na coleção.

(Herdado de ConfigurationElementCollectionBase<T>)
ElementTagName

Representa uma coleção de associações.

(Herdado de ConfigurationElement)
IsLocallyStored

Obtém um valor que indica se o elemento de configuração é armazenado em um arquivo de configuração específico.

(Herdado de ConfigurationElement)
Item[Int32]

Obtém um elemento de configuração no índice especificado.

(Herdado de ConfigurationElementCollectionBase<T>)
Item[String]

Obtém ou define um atributo com o nome especificado.

(Herdado de ConfigurationElement)
Methods

Obtém uma coleção de métodos para o elemento de configuração.

(Herdado de ConfigurationElement)
RawAttributes

Representa uma coleção de associações.

(Herdado de ConfigurationElement)
Schema

Obtém o esquema que descreve a coleção de elementos de configuração.

(Herdado de ConfigurationElementCollectionBase<T>)

Métodos

Add(Binding)

Adiciona uma associação segura ao final da coleção.

Add(String, Byte[], String)

Adiciona uma associação segura à coleção de associação.

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

Representa uma coleção de associações.

Add(String, String)

Adiciona uma associação com o protocolo especificado e informações de associação à coleção de associação.

Add(T)

Adiciona um elemento de configuração ao final da coleção atual.

(Herdado de ConfigurationElementCollectionBase<T>)
AddAt(Int32, T)

Adiciona um elemento de configuração à coleção atual no índice especificado.

(Herdado de ConfigurationElementCollectionBase<T>)
Clear()

Limpa todos os elementos de configuração da coleção atual.

(Herdado de ConfigurationElementCollectionBase<T>)
CreateElement()

Cria um novo elemento filho para a coleção atual.

(Herdado de ConfigurationElementCollectionBase<T>)
CreateElement(String)

Cria um novo elemento filho usando o nome especificado.

(Herdado de ConfigurationElementCollectionBase<T>)
CreateNewElement(String)

Cria um novo elemento usando o nome do elemento especificado.

(Herdado de ConfigurationElementCollectionBase<T>)
Delete()

Representa uma coleção de associações.

(Herdado de ConfigurationElement)
GetAttribute(String)

Retorna um ConfigurationAttribute objeto que representa o atributo solicitado.

(Herdado de ConfigurationElement)
GetAttributeValue(String)

Retorna o valor do atributo especificado.

(Herdado de ConfigurationElement)
GetChildElement(String)

Retorna um elemento filho que está sob o elemento de configuração atual e tem o nome especificado.

(Herdado de ConfigurationElement)
GetChildElement(String, Type)

Retorna um elemento filho que está sob o elemento de configuração atual e tem o nome e o tipo especificados.

(Herdado de ConfigurationElement)
GetCollection()

Retorna a coleção padrão para o elemento de configuração atual.

(Herdado de ConfigurationElement)
GetCollection(String)

Retorna todos os elementos de configuração que pertencem ao elemento de configuração atual.

(Herdado de ConfigurationElement)
GetCollection(String, Type)

Retorna o elemento de configuração que tem o nome e o tipo especificados e está sob o elemento de configuração atual.

(Herdado de ConfigurationElement)
GetCollection(Type)

Retorna o elemento de configuração que tem o tipo especificado e está sob o elemento de configuração atual.

(Herdado de ConfigurationElement)
GetEnumerator()

Retorna um enumerador que itera em uma coleção.

(Herdado de ConfigurationElementCollectionBase<T>)
GetMetadata(String)

Retorna valores de metadados do esquema de elemento.

(Herdado de ConfigurationElement)
IndexOf(T)

Determina o índice de um elemento na coleção.

(Herdado de ConfigurationElementCollectionBase<T>)
Remove(Binding)

Remove a associação especificada da coleção de associação.

Remove(Binding, Boolean)

Representa uma coleção de associações.

Remove(T)

Remove a primeira ocorrência de um elemento da coleção.

(Herdado de ConfigurationElementCollectionBase<T>)
RemoveAt(Int32)

Remove uma associação no índice especificado.

SetAttributeValue(String, Object)

Define o valor do atributo especificado.

(Herdado de ConfigurationElement)
SetMetadata(String, Object)

Define valores de metadados do esquema de elemento.

(Herdado de ConfigurationElement)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Copia os elementos da coleção em uma matriz, começando em um índice de matriz específico.

(Herdado de ConfigurationElementCollectionBase<T>)
ICollection.Count

Representa uma coleção de associações.

(Herdado de ConfigurationElementCollectionBase<T>)
ICollection.IsSynchronized

Representa uma coleção de associações.

(Herdado de ConfigurationElementCollectionBase<T>)
ICollection.SyncRoot

Representa uma coleção de associações.

(Herdado de ConfigurationElementCollectionBase<T>)
IEnumerable.GetEnumerator()

Retorna um enumerador que itera pela coleção.

(Herdado de ConfigurationElementCollectionBase<T>)

Aplica-se a