快速管理 IIS-C# 编程创建 IIS 7 站点

作者: 来源: 日期:2010-6-11

(本文需要 Microsoft.Web.Administration.dll 这个文件,如果您的开发端上没有这个文件,可从ITPOW下载 Microsoft.Web.Administration.dll,这样便于开发、编译,当然要运行还是要到 2008 上才行。ITPOW编辑注)

为了使用 C# 语言编程的方式创建同样的网站,可以使用 Microsoft.Web.Administration 名称空间。Microsoft.Web.Administration 程序集保存在 %systemroot%\system32\inetsrv 目录下,可以在应用程序中引用该程序集。如果使用 Visual Studio 作为开发工具,那么则需要使用 IntelliSense。使用 Microsoft.Web.Administration 创建 Web 网站时,可以赋予网站一定的访问权限,但是,与一般的网站创建时使用的模板所拥有的权限相比,还需要针对 FileIOPermission 和 SecurityPermission 赋予更高的访问权限。一般来说,最好以完全的信任权限来运行网站,这是因为:如果在某台服务器上创建一个网站,那么相当于实际上将该网站视为一个可信 Web 网站。如果需要修改网站,那么就必须更新 applicationHost.config 文件。如果使用了 PowerShell 来操作 API,并且 PowerShell 以管理员账号运行,那么就无须修改 applicationHost.config 文件。

// create the server management object
ServerManager managerServer = new ServerManager();
 
//create site object off the server management object
managerServer.Sites.Add("WebSite1", "http", "*:80:www.website1.com", "c:\\inetpub\\wwwroot\\website1");
 
//create application pool
managerServer.ApplicationPools.Add("WebSite1AppPool");
 
//assign application pool to site.
managerServer.Sites["WebSite1"].Applications[0].ApplicationPoolName = "WebSite1AppPool";
 
//create apppool object
ApplicationPool appPool = managerServer.ApplicationPools["WebSite1AppPool"];
 
//set app pool options
appPool.ManagedPipelineMode = ManagedPipelineMode.Integrated;
appPool.AutoStart = true;
appPool.Failure.RapidFailProtection = true;
 
//write the changes
managerServer.CommitChanges();
相关文章