using Microsoft.Web.Administration;
string url = "mysite.com";
string sitename = "mysite";
string ip_address = "128.0.1.100";
string folder = "c";
protected void create_iis_instance()
{
string app_site = sitename.Replace("\\","_");
app_site = sitename.Replace("/", "_");
ServerManager serverMgr = new ServerManager();
Site mySite = serverMgr.Sites.Add(sitename, folder, 80);
mySite.Bindings.Clear();
string bind = ip_address + ":" + 80 + ":" + url
Binding binding = mySite.Bindings.CreateElement();
binding.Protocol = "http";
binding.BindingInformation = bind;
mySite.Bindings.Add(binding);
serverMgr.ApplicationPools.Add(app_site);
mySite.ApplicationDefaults.ApplicationPoolName = app_site;
/*mySite.TraceFailedRequestsLogging.Enabled = true;
mySite.TraceFailedRequestsLogging.Directory = "C:\\inetpub\\customfolder\\site";*/
serverMgr.CommitChanges();
}