BindingCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
AllowsClear |
Obtém um valor que indica se um |
AllowsRemove |
Obtém um valor que indica se um |
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>) |