Condividi tramite


BindingCollection Classe

Definizione

Rappresenta una raccolta di associazioni.

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)
Ereditarietà

Esempio

Nell'esempio seguente viene visualizzato il conteggio di ogni associazione al listener di traccia.

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

Nell'esempio seguente vengono elencate tutte le associazioni per ogni sito nel server.

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

Commenti

È possibile visualizzare le associazioni per un sito nella finestra di dialogo Associazioni sito in Gestione IIS. Per aprire la finestra di dialogo, fare clic con il pulsante destro del mouse su un nodo del sito nel riquadro Connessioni e quindi scegliere Modifica associazioni. Nella finestra di dialogo Associazioni sito vengono visualizzati gli Binding oggetti nell'oggetto BindingCollection per il sito.

Le modifiche apportate all'oggetto BindingCollection non vengono riflesse in Gestione IIS fino a quando il file di ApplicationHost.config non viene aggiornato da una chiamata al Microsoft.Web.Management.Server.ManagementUnit.Update metodo .

Proprietà

AllowsAdd

Ottiene un valore che indica se un add nome di elemento è definito nello schema della raccolta corrente.

(Ereditato da ConfigurationElementCollectionBase<T>)
AllowsClear

Ottiene un valore che indica se un clear nome di elemento è definito nello schema della raccolta corrente.

(Ereditato da ConfigurationElementCollectionBase<T>)
AllowsRemove

Ottiene un valore che indica se un remove nome di elemento è definito nello schema della raccolta corrente.

(Ereditato da ConfigurationElementCollectionBase<T>)
Attributes

Ottiene una raccolta di attributi di configurazione che contiene l'elenco di attributi per questo elemento.

(Ereditato da ConfigurationElement)
ChildElements

Ottiene tutti gli elementi figlio dell'elemento corrente.

(Ereditato da ConfigurationElement)
Count

Ottiene il numero di elementi nella raccolta.

(Ereditato da ConfigurationElementCollectionBase<T>)
ElementTagName

Rappresenta una raccolta di associazioni.

(Ereditato da ConfigurationElement)
IsLocallyStored

Ottiene un valore che indica se l'elemento di configurazione è archiviato in un file di configurazione specifico.

(Ereditato da ConfigurationElement)
Item[Int32]

Ottiene un elemento di configurazione in corrispondenza dell'indice specificato.

(Ereditato da ConfigurationElementCollectionBase<T>)
Item[String]

Ottiene o imposta un attributo con il nome specificato.

(Ereditato da ConfigurationElement)
Methods

Ottiene una raccolta di metodi per l'elemento di configurazione.

(Ereditato da ConfigurationElement)
RawAttributes

Rappresenta una raccolta di associazioni.

(Ereditato da ConfigurationElement)
Schema

Ottiene lo schema che descrive la raccolta di elementi di configurazione.

(Ereditato da ConfigurationElementCollectionBase<T>)

Metodi

Add(Binding)

Aggiunge un'associazione sicura alla fine della raccolta.

Add(String, Byte[], String)

Aggiunge un'associazione sicura alla raccolta di associazioni.

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

Rappresenta una raccolta di associazioni.

Add(String, String)

Aggiunge un'associazione con il protocollo e le informazioni di associazione specificate alla raccolta di associazioni.

Add(T)

Aggiunge un elemento di configurazione alla fine della raccolta corrente.

(Ereditato da ConfigurationElementCollectionBase<T>)
AddAt(Int32, T)

Aggiunge un elemento di configurazione alla raccolta corrente in corrispondenza dell'indice specificato.

(Ereditato da ConfigurationElementCollectionBase<T>)
Clear()

Cancella tutti gli elementi di configurazione dalla raccolta corrente.

(Ereditato da ConfigurationElementCollectionBase<T>)
CreateElement()

Crea un nuovo elemento figlio per la raccolta corrente.

(Ereditato da ConfigurationElementCollectionBase<T>)
CreateElement(String)

Crea un nuovo elemento figlio utilizzando il nome specificato.

(Ereditato da ConfigurationElementCollectionBase<T>)
CreateNewElement(String)

Crea un nuovo elemento utilizzando il nome dell'elemento specificato.

(Ereditato da ConfigurationElementCollectionBase<T>)
Delete()

Rappresenta una raccolta di associazioni.

(Ereditato da ConfigurationElement)
GetAttribute(String)

Restituisce un ConfigurationAttribute oggetto che rappresenta l'attributo richiesto.

(Ereditato da ConfigurationElement)
GetAttributeValue(String)

Restituisce il valore dell'attributo specificato.

(Ereditato da ConfigurationElement)
GetChildElement(String)

Restituisce un elemento figlio che si trova sotto l'elemento di configurazione corrente e ha il nome specificato.

(Ereditato da ConfigurationElement)
GetChildElement(String, Type)

Restituisce un elemento figlio che si trova sotto l'elemento di configurazione corrente e ha il nome e il tipo specificati.

(Ereditato da ConfigurationElement)
GetCollection()

Restituisce la raccolta predefinita per l'elemento di configurazione corrente.

(Ereditato da ConfigurationElement)
GetCollection(String)

Restituisce tutti gli elementi di configurazione che appartengono all'elemento di configurazione corrente.

(Ereditato da ConfigurationElement)
GetCollection(String, Type)

Restituisce l'elemento di configurazione con il nome e il tipo specificati e si trova nell'elemento di configurazione corrente.

(Ereditato da ConfigurationElement)
GetCollection(Type)

Restituisce l'elemento di configurazione con il tipo specificato ed è sotto l'elemento di configurazione corrente.

(Ereditato da ConfigurationElement)
GetEnumerator()

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.

(Ereditato da ConfigurationElementCollectionBase<T>)
GetMetadata(String)

Restituisce i valori dei metadati dallo schema degli elementi.

(Ereditato da ConfigurationElement)
IndexOf(T)

Determina l'indice di un elemento nella raccolta.

(Ereditato da ConfigurationElementCollectionBase<T>)
Remove(Binding)

Rimuove l'associazione specificata dalla raccolta di associazioni.

Remove(Binding, Boolean)

Rappresenta una raccolta di associazioni.

Remove(T)

Rimuove la prima occorrenza di un elemento dalla raccolta.

(Ereditato da ConfigurationElementCollectionBase<T>)
RemoveAt(Int32)

Rimuove un'associazione in corrispondenza dell'indice specificato.

SetAttributeValue(String, Object)

Imposta il valore dell'attributo specificato.

(Ereditato da ConfigurationElement)
SetMetadata(String, Object)

Imposta i valori dei metadati dallo schema degli elementi.

(Ereditato da ConfigurationElement)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi della raccolta in una matrice, a partire da un indice della matrice specifico.

(Ereditato da ConfigurationElementCollectionBase<T>)
ICollection.Count

Rappresenta una raccolta di associazioni.

(Ereditato da ConfigurationElementCollectionBase<T>)
ICollection.IsSynchronized

Rappresenta una raccolta di associazioni.

(Ereditato da ConfigurationElementCollectionBase<T>)
ICollection.SyncRoot

Rappresenta una raccolta di associazioni.

(Ereditato da ConfigurationElementCollectionBase<T>)
IEnumerable.GetEnumerator()

Restituisce un enumeratore che consente di scorrere la raccolta.

(Ereditato da ConfigurationElementCollectionBase<T>)

Si applica a