BK网络学院

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

C#查询、创建、删除IIS中应用池

[日期:2013-03-01] 作者: 来源: [字体: ]

C#如何判断系统IIS组件中的某个应用池是否存在?这个问题在打包ASP.net程序时经常会遇到。我们处于性能的考虑,希望我们的网站程序能够单独处于一个应用池中独立运行,如果该应用池不存在则创建。以下代码将实现对IIS中应用池的查询、创建、删除等管理操作。

/// <summary>

        /// 判断程序池是否存在

        /// </summary>

        /// <param name="AppPoolName">程序池名称</param>

        /// <returns>true存在 false不存在</returns>

        private bool IsAppPoolName(string AppPoolName)

        {

            bool result = false;

            DirectoryEntry appPools = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");

            foreach (DirectoryEntry getdir in appPools.Children)

            {

                if (getdir.Name.Equals(AppPoolName))

                {

                    result = true;

                }

            }

            return result;

        }

 

/// <summary>

        /// 删除指定程序池

        /// </summary>

        /// <param name="AppPoolName">程序池名称</param>

        /// <returns>true删除成功 false删除失败</returns>

        private bool DeleteAppPool(string AppPoolName)

        {

            bool result = false;

            DirectoryEntry appPools = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");

            foreach (DirectoryEntry getdir in appPools.Children)

            {

                if (getdir.Name.Equals(AppPoolName))

                {

                    try

                    {

                        getdir.DeleteTree();

                        result = true;

                    }

                    catch

                    {

                        result = false;

                    }

                }

            }

            return result;

        }

 

string AppPoolName = "LamAppPool";

            if (!IsAppPoolName(AppPoolName))

            {

                DirectoryEntry newpool;

                DirectoryEntry appPools = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");

                newpool = appPools.Children.Add(AppPoolName, "IIsApplicationPool");

                newpool.CommitChanges();

                MessageBox.Show(AppPoolName + "程序池增加成功");

            }

            #endregion

 

            #region 修改应用程序的配置(包含托管模式及其NET运行版本)

            ServerManager sm = new ServerManager();

            sm.ApplicationPools[AppPoolName].ManagedRuntimeVersion = "v4.0";

            sm.ApplicationPools[AppPoolName].ManagedPipelineMode = ManagedPipelineMode.Classic; //托管模式Integrated为集成 Classic为经典

            sm.CommitChanges();

            MessageBox.Show(AppPoolName + "程序池托管管道模式:" + sm.ApplicationPools[AppPoolName].ManagedPipelineMode.ToString() + "运行的NET版本为:" + sm.ApplicationPools[AppPoolName].ManagedRuntimeVersion);

关键词:IIS  应用池 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
本文评论   查看全部评论 (1)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2016/12/24 17:49:02
http://www.blue1000.com/bkhtml/c165/2009-12/66090.htm 削马蹄350字 http://www.blue1000.com/details/zt46168.html 削土豆350字 http://www.blue1000.com/details/zt46170.html