IIS Helper, binding new domain using c#

11355 ワード


  
    
public class IISHelper
{

public static string SiteName
{
get
{
return Config.GetSetting( " SiteName " );
}
}

public static void AddDomianTmSuite( string portalAlias)
{
using (ServerManager iis = new ServerManager())
{
Site site
= iis.Sites[SiteName];
if (site != null )
{
Binding binding
= GetBinding(site.Bindings, " *:80: " + portalAlias);
if (binding == null )
{
AddBinding(site.Bindings,
" *:80: " + portalAlias);
}
iis.CommitChanges();
}
}
}

public static void DeleteDomainTmSuite( string portalAlias)
{
using (ServerManager iis = new ServerManager())
{
Site site
= iis.Sites[SiteName];
if (site != null )
{
Binding binding
= GetBinding(site.Bindings, " *:80: " + portalAlias);
if (binding != null )
{
site.Bindings.Remove(binding);
}
iis.CommitChanges();
}

}
}

/// <summary>
/// Get Bingding
/// </summary>
/// <param name="bindings"> collection of currnet site bindings </param>
/// <param name="BindingInformation"> like *:80:asp.google.tst </param>
/// <returns> null or binding </returns>
public static Binding GetBinding(BindingCollection bindings, string BindingInformation)
{
foreach (Binding binding in bindings)
{
if (binding.BindingInformation.ToLower() == BindingInformation.ToLower())
{
return binding;
}
}

return null ;
}

/// <summary>
/// Add Binding
/// </summary>
/// <param name="bindings"> collection of currnet site bindings </param>
/// <param name="BindingInformation"> like *:80:asp.google.tst </param>
public static void AddBinding(BindingCollection bindings, string BindingInformation)
{
Binding binding2
= bindings.CreateElement();
binding2.BindingInformation
= BindingInformation;
binding2.Protocol
= @" http " ;
bindings.Add(binding2);
}
}

 
オフィシャルリファレンス:
http://www.iis.net/ConfigReference/system.applicationHost/sites/site/bindings