Я написал программу, которая берет список имен хостов и имени сайта и добавляет их в качестве привязок к сайту, если они еще не существуют ни на одном сайте.Программа написана на .NET 4.0 C #.
Локально (IIS 7.5, Win 7), код ниже работает нормально.Он обнаруживает привязку и выходит.На моем сервере (IIS 7.0, Win Server 2008) проверка не проходит, и привязка всегда добавляется.Что дает?
Это неверный запрос LINQ или библиотека Microsoft.Web.Administration имеет фундаментальную неадекватность обработки IIS 7.0?
Вот часть кода должно работать на обеих машинах:
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();