BindingCollection Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una colección de enlaces.
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)
- Herencia
Ejemplos
En el ejemplo siguiente se muestra el recuento de cada enlace al agente de escucha de seguimiento.
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());
}
En el ejemplo siguiente se enumeran cada enlace para cada sitio del 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;
}
Comentarios
Puede ver los enlaces de un sitio en el cuadro de diálogo Enlaces de sitio en el Administrador de IIS. Para abrir el cuadro de diálogo, haga clic con el botón derecho en un nodo de sitio en el panel Conexiones y, a continuación, haga clic en Editar enlaces. El cuadro de diálogo Enlaces de sitio muestra los Binding objetos del objeto para BindingCollection el sitio.
Los cambios en el BindingCollection objeto no se reflejan en el Administrador de IIS hasta que el archivo de ApplicationHost.config se actualiza mediante una llamada al Microsoft.Web.Management.Server.ManagementUnit.Update método .
Propiedades
AllowsAdd |
Obtiene un valor que indica si se define un |
AllowsClear |
Obtiene un valor que indica si se define un |
AllowsRemove |
Obtiene un valor que indica si se define un |
Attributes |
Obtiene una colección de atributos de configuración que contiene la lista de atributos de este elemento. (Heredado de ConfigurationElement) |
ChildElements |
Obtiene todos los elementos secundarios del elemento actual. (Heredado de ConfigurationElement) |
Count |
Obtiene el número de elementos de la colección. (Heredado de ConfigurationElementCollectionBase<T>) |
ElementTagName |
Representa una colección de enlaces. (Heredado de ConfigurationElement) |
IsLocallyStored |
Obtiene un valor que indica si el elemento de configuración se almacena en un archivo de configuración determinado. (Heredado de ConfigurationElement) |
Item[Int32] |
Obtiene un elemento de configuración en el índice especificado. (Heredado de ConfigurationElementCollectionBase<T>) |
Item[String] |
Obtiene o establece un atributo con el nombre especificado. (Heredado de ConfigurationElement) |
Methods |
Obtiene una colección de métodos para el elemento de configuración. (Heredado de ConfigurationElement) |
RawAttributes |
Representa una colección de enlaces. (Heredado de ConfigurationElement) |
Schema |
Obtiene el esquema que describe la colección de elementos de configuración. (Heredado de ConfigurationElementCollectionBase<T>) |
Métodos
Add(Binding) |
Agrega un enlace seguro al final de la colección. |
Add(String, Byte[], String) |
Agrega un enlace seguro a la colección de enlaces. |
Add(String, Byte[], String, SslFlags) |
Representa una colección de enlaces. |
Add(String, String) |
Agrega un enlace con el protocolo especificado y la información de enlace a la colección de enlaces. |
Add(T) |
Agrega un elemento de configuración al final de la colección actual. (Heredado de ConfigurationElementCollectionBase<T>) |
AddAt(Int32, T) |
Agrega un elemento de configuración a la colección actual en el índice especificado. (Heredado de ConfigurationElementCollectionBase<T>) |
Clear() |
Borra todos los elementos de configuración de la colección actual. (Heredado de ConfigurationElementCollectionBase<T>) |
CreateElement() |
Crea un nuevo elemento secundario para la colección actual. (Heredado de ConfigurationElementCollectionBase<T>) |
CreateElement(String) |
Crea un nuevo elemento secundario con el nombre especificado. (Heredado de ConfigurationElementCollectionBase<T>) |
CreateNewElement(String) |
Crea un nuevo elemento mediante el nombre del elemento especificado. (Heredado de ConfigurationElementCollectionBase<T>) |
Delete() |
Representa una colección de enlaces. (Heredado de ConfigurationElement) |
GetAttribute(String) |
Devuelve un ConfigurationAttribute objeto que representa el atributo solicitado. (Heredado de ConfigurationElement) |
GetAttributeValue(String) |
Devuelve el valor del atributo especificado. (Heredado de ConfigurationElement) |
GetChildElement(String) |
Devuelve un elemento secundario que está bajo el elemento de configuración actual y tiene el nombre especificado. (Heredado de ConfigurationElement) |
GetChildElement(String, Type) |
Devuelve un elemento secundario que está bajo el elemento de configuración actual y tiene el nombre y el tipo especificados. (Heredado de ConfigurationElement) |
GetCollection() |
Devuelve la colección predeterminada para el elemento de configuración actual. (Heredado de ConfigurationElement) |
GetCollection(String) |
Devuelve todos los elementos de configuración que pertenecen al elemento de configuración actual. (Heredado de ConfigurationElement) |
GetCollection(String, Type) |
Devuelve el elemento de configuración que tiene el nombre y el tipo especificados y está bajo el elemento de configuración actual. (Heredado de ConfigurationElement) |
GetCollection(Type) |
Devuelve el elemento de configuración que tiene el tipo especificado y está bajo el elemento de configuración actual. (Heredado de ConfigurationElement) |
GetEnumerator() |
Devuelve un enumerador que recorre en iteración una colección. (Heredado de ConfigurationElementCollectionBase<T>) |
GetMetadata(String) |
Devuelve valores de metadatos del esquema de elementos. (Heredado de ConfigurationElement) |
IndexOf(T) |
Determina el índice de un elemento de la colección. (Heredado de ConfigurationElementCollectionBase<T>) |
Remove(Binding) |
Quita el enlace especificado de la colección de enlaces. |
Remove(Binding, Boolean) |
Representa una colección de enlaces. |
Remove(T) |
Quita la primera aparición de un elemento de la colección. (Heredado de ConfigurationElementCollectionBase<T>) |
RemoveAt(Int32) |
Quita un enlace en el índice especificado. |
SetAttributeValue(String, Object) |
Establece el valor del atributo especificado. (Heredado de ConfigurationElement) |
SetMetadata(String, Object) |
Establece los valores de metadatos del esquema de elementos. (Heredado de ConfigurationElement) |
Implementaciones de interfaz explícitas
ICollection.CopyTo(Array, Int32) |
Copia los elementos de la colección en una matriz a partir de un índice de matriz concreto. (Heredado de ConfigurationElementCollectionBase<T>) |
ICollection.Count |
Representa una colección de enlaces. (Heredado de ConfigurationElementCollectionBase<T>) |
ICollection.IsSynchronized |
Representa una colección de enlaces. (Heredado de ConfigurationElementCollectionBase<T>) |
ICollection.SyncRoot |
Representa una colección de enlaces. (Heredado de ConfigurationElementCollectionBase<T>) |
IEnumerable.GetEnumerator() |
Devuelve un enumerador que procesa una iteración en la colección. (Heredado de ConfigurationElementCollectionBase<T>) |