मैंने एक प्रोग्राम लिखा है जो होस्ट नामों और साइट के नाम की एक सूची लेता है और उन्हें साइट पर बाइंडिंग के रूप में जोड़ता है यदि वे किसी भी साइट पर पहले से मौजूद नहीं हैं । कार्यक्रम .NET 4.0 सी # में लिखा गया है।आईआईएस 7.0 बनाम 7.5 साइट माइक्रोसॉफ्ट.Web.Administration.Site बाइंडिंग कोलेक्शन
स्थानीय रूप से (आईआईएस 7.5, विन 7), नीचे दिया गया कोड ठीक काम करता है। यह बाध्यकारी और निकास का पता लगाता है। मेरे सर्वर पर (आईआईएस 7.0, विन सर्वर 2008), चेक विफल रहता है और बाध्यकारी हमेशा जोड़ा जाता है। क्या देता है?
क्या यह है कि LINQ क्वेरी गलत है या यह है कि Microsoft.Web.Administration लाइब्रेरी में आईआईएस 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();