IIS 7.0 vs 7.5 Site Microsoft.Web.Administration.Site BindingCollection

He escrito un progtwig que toma una lista de nombres de host y un nombre de sitio y los agrega como enlaces al sitio si aún no existen en ningún sitio. El progtwig está escrito en .NET 4.0 C #.

Localmente (IIS 7.5, Win 7), el código siguiente funciona bien. Detecta la unión y sale. En mi servidor (IIS 7.0, Win Server 2008), la comprobación falla y el enlace siempre se agrega. ¿Lo que da?

¿Es que la consulta LINQ es incorrecta o es que la biblioteca Microsoft.Web.Administration tiene algún problema fundamental de manejo de IIS 7.0?

Aquí está parte del código que debería funcionar en ambas máquinas:

ServerManager oIisMgr = new ServerManager(); Site oSite = oIisMgr.Sites[siteName]; string sBindInfo = ":80:" + this.StripUrl(hostName); //See if this binding is already on some site if (oIisMgr.Sites .Where(ST => ST.Bindings.Where(B => B.BindingInformation == sBindInfo).Any()) .Any()) return true; Binding oBinding = oSite.Bindings.CreateElement(); oBinding.Protocol = "http"; oBinding.BindingInformation = sBindInfo; oSite.Bindings.Add(oBinding); oIisMgr.CommitChanges(); 

Para el registro, descubrí cuál era mi error. De forma predeterminada, los enlaces de sitios agregados a través de la Consola de administración de IIS que dejan la ‘Dirección IP:’ establecida en Todos sin asignar tienen esta cadena de enlace:

“*: 80: some.domain.com”

Estaba usando esto en mi código:

“: 80: some.domain.com” // note el comodín que falta

Los enlaces funcionan, pero mi consulta LINQ no registró el registro de ninguna configuración que se haya configurado a través del administrador, ya que estaba consultando la versión sin comodín de la información de enlace del nombre de host.