それぞれ複数のバインディングを持つ多数のサイトを実行する IIS7 Web サーバーがあります。各サイトは、ホスト ヘッダーと独自の IP を使用します。
C# を使用して、すべてのバインディングの IP を 0.0.0.0 に変更して、すべての IP をリッスンするようにする必要があります。
私の現在のコードは新しいバインディングを追加しませんが、古いバインディングをクリアします。私が間違っていることは何ですか?
私のコード:
using (ServerManager iisServerManager = new ServerManager())
{
foreach (Site site in iisServerManager.Sites)
{
List<Microsoft.Web.Administration.Binding> bindings = new List<Microsoft.Web.Administration.Binding>();
foreach (Microsoft.Web.Administration.Binding binding in site.Bindings)
{
String protocol = binding.Protocol;
String hostHeader = binding.Host;
String ipAddress = "0.0.0.0";
Int32 port = binding.EndPoint.Port;
String bind = ipAddress + ":" + port + ":" + hostHeader;
binding.BindingInformation = bind;
bindings.Add(binding);
}
//Clear existing site bindings
site.Bindings.Clear();
Int32 bindingCount = site.Bindings.Count();
foreach (Microsoft.Web.Administration.Binding binding in bindings)
{
site.Bindings.Add(binding);
bindingCount = site.Bindings.Count();
}
bindingCount = site.Bindings.Count();
iisServerManager.CommitChanges();
}
}