C# IIS站点管理--Microsoft.Web.Administration.dll

Microsoft中提供了管理IIS7及以上版本一个很是强大的API - Microsoft.Web.Administration.dll,利用该API能够让咱们很方便的以编程的方式管理和设定IIS的各项配置信息了。web

Microsoft.Web.Administration.dll位于IIS目录下(%WinDir%\System32\InetSrv)下,在项目中添加引用后就能够使用这些API了。编程

参考资料:https://msdn.microsoft.com/en-us/library/microsoft.web.administration(v=vs.90).aspx

网站

下面经过代码进行web发布:spa

一、添加 Microsoft.Web.Administration.dll 引用blog

二、引用命名空间 using Microsoft.Web.Administration;get

     /// <summary>
        /// 使用代码进行web发布
        /// </summary>
        /// <param name="webName">web应用程序名称</param>
        /// <param name="port">web应用程序端口</param>
        /// <returns></returns>
        private bool PublishWeb(string webName, int port)
        {
            try
            {
                ServerManager iismanager = new ServerManager();
                //判断应用程序池是否存在
                if (iismanager.ApplicationPools[webName] != null)
                {
                    iismanager.ApplicationPools.Remove(iismanager.ApplicationPools[webName]);
                }
                //判断web应用程序是否存在
                if (iismanager.Sites[webName] != null)
                {
                    iismanager.Sites.Remove(iismanager.Sites[webName]);
                }
                //创建web应用程序(第二个参数为安装文件的地址)
                iismanager.Sites.Add(webName, "c:\\webFilePath", port);
                //添加web应用程序池
                ApplicationPool pool = iismanager.ApplicationPools.Add(webName);
                //设置web应用程序池的Framework版本(注意版本号大小写问题)
                pool.ManagedRuntimeVersion = "v4.0";
                //设置是否启用32为应用程序
                pool.SetAttributeValue("enable32BitAppOnWin64", true);
                //设置web网站的应用程序池
                iismanager.Sites[webName].Applications[0].ApplicationPoolName = webName;
                //提交更改
                iismanager.CommitChanges();
                return true;
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }

在对web应用程序池属性进行设置时,能够参考IIS管理器中对应的属性,点击每一个属性在说明框中都会有属性的名称,经过该名称能够经过代码设置对应的值。string

相关文章
相关标签/搜索