AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)
- using System.Collections.Generic;
- using System.DirectoryServices;
- using System.Linq;
- using Microsoft.Web.Administration; //位于:C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll
- namespace Whir.Software.IISManager.IISManager
- {
- /// <summary>
- /// IIS应用程序池辅助类
- /// </summary>
- public class AppPoolService
- {
- protected static string Host = "localhost";
- /// <summary>
- /// 取得所有应用程序池
- /// </summary>
- /// <returns></returns>
- public static List<string> GetAppPools()
- {
- var appPools = new DirectoryEntry(string.Format("IIS://{0}/W3SVC/AppPools", Host));
- return (from DirectoryEntry entry in appPools.Children select entry.Name).ToList();
- }
- /// <summary>
- /// 取得单个应用程序池
- /// </summary>
- /// <returns></returns>
- public static ApplicationPool GetAppPool(string appPoolName)
- {
- ApplicationPool app = null;
- var appPools = new DirectoryEntry(string.Format("IIS://{0}/W3SVC/AppPools", Host));
- foreach (DirectoryEntry entry in appPools.Children)
- {
- if (entry.Name == appPoolName)
- {
- var manager = new ServerManager();
- app = manager.ApplicationPools[appPoolName];
- }
- }
- return app;
- }
- /// <summary>
- /// 判断程序池是否存在
- /// </summary>
- /// <param name="appPoolName">程序池名称</param>
- /// <returns>true存在 false不存在</returns>
- public static bool IsAppPoolExsit(string appPoolName)
- {
- bool result = false;
- var appPools = new DirectoryEntry(string.Format("IIS://{0}/W3SVC/AppPools", Host));
- foreach (DirectoryEntry entry in appPools.Children)
- {
- if (entry.Name.Equals(appPoolName))
- {
- result = true;
- break;
- }
- }
- return result;
- }
- /// <summary>
- /// 删除指定程序池
- /// </summary>
- /// <param name="appPoolName">程序池名称</param>
- /// <returns>true删除成功 false删除失败</returns>
- public static bool DeleteAppPool(string appPoolName)
- {
- bool result = false;
- var appPools = new DirectoryEntry(string.Format("IIS://{0}/W3SVC/AppPools", Host));
- foreach (DirectoryEntry entry in appPools.Children)
- {
- if (entry.Name.Equals(appPoolName))
- {
- try
- {
- entry.DeleteTree();
- result = true;
- break;
- }
- catch
- {
- result = false;
- }
- }
- }
- return result;
- }
- /// <summary>
- /// 创建应用程序池
- /// </summary>
- /// <param name="appPool"></param>
- /// <returns></returns>
- public static bool CreateAppPool(string appPool)
- {
- try
- {
- if (!IsAppPoolExsit(appPool))
- {
- var appPools = new DirectoryEntry(string.Format("IIS://{0}/W3SVC/AppPools", Host));
- DirectoryEntry entry = appPools.Children.Add(appPool, "IIsApplicationPool");
- entry.CommitChanges();
- return true;
- }
- }
- catch
- {
- return false;
- }
- return false;
- }
- /// <summary>
- /// 编辑应用程序池
- /// </summary>
- /// <param name="application"></param>
- /// <returns></returns>
- public static bool EditAppPool(ApplicationPool application)
- {
- try
- {
- if (IsAppPoolExsit(application.Name))
- {
- var manager = new ServerManager();
- manager.ApplicationPools[application.Name].ManagedRuntimeVersion = application.ManagedRuntimeVersion;
- manager.ApplicationPools[application.Name].ManagedPipelineMode = application.ManagedPipelineMode;
- //托管模式Integrated为集成 Classic为经典
- manager.CommitChanges();
- return true;
- }
- }
- catch
- {
- return false;
- }
- return false;
- }
- }
- }
AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)的更多相关文章
- C# IIS应用程序池辅助类 分类: C# Helper 2014-07-19 09:50 249人阅读 评论(0) 收藏
using System.Collections.Generic; using System.DirectoryServices; using System.Linq; using Microsoft ...
- [原]AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)
using System.Collections.Generic; using System.DirectoryServices; using System.Linq; using Microsoft ...
- IIS:连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解
Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows NT版本的可选 ...
- IIS连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解
IIS:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池的最大工作进程数详解 iis性能指标的各种概念:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池 ...
- Azure Service Bus(二)在NET Core 控制台中如何操作 Service Bus Queue
一,引言 上一篇讲到关于 Azure ServiceBus 的一些概念,讲到 Azure Service Bus(服务总线),其实也叫 "云消息服务",是微软在Azure 上提供的 ...
- IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的
IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫" ...
- 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数 吗?
原文链接:http://www.cnblogs.com/yinhaichao/p/4060209.html?utm_source=tuicool&utm_medium=referral 一般购 ...
- .net操作IIS,新建网站,新建应用程序池,设置应用程序池版本,设置网站和应用程序池的关联
ServerManager类用来操作IIS,提供了很多操作IIS的API.使用ServerManager必须引用Microsoft.Web.Administration.dll,具体路径为:%wind ...
- 【jQuery】总结:筛选器、控制隐藏、操作元素style属性
筛选器 -> http://blog.csdn.net/lijinwei112/article/details/6938134 常用到的: $("tr[id=ac_"+id+ ...
随机推荐
- 改变了Tomcat路径后无法卸载和重装的解决办法
错误如下: ---------------------------Apache Tomcat Setup---------------------------Failed to install Tom ...
- HTML 5 应用程序缓存
使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这 ...
- 在xib里,拖一个UIView到UITableView中作为tableHeaderView
原贴地址:http://blog.csdn.net/haoxinqingb/article/details/41683881 内容 在xib里,拖一个UIView到UITableView中作为tabl ...
- Tomcat入门指南
转自javaresearch.com由timgball 整理 Tomcat是一个免费的开源Web服务器,最新版本是5.5.1,支持Servlet2.4,JSP2.0,非常适合初学者学习Java Web ...
- MySQL索引的创建、删除和查看
MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...
- python多线程备份MYSQL数据库并删除旧的备份。
#!/usr/bin/python # -*- coding=utf-8 -*- import time import os import datetime import threading from ...
- windows下使用批处理文件调用python程序
这个随笔涉及到几个批处理脚本得知识点. windows的start命令, 启动另一个窗口运行指定的程序或命令. windows的call命令, 从批处理程序调用另一个程序, 直到被调用程序退出, 再继 ...
- Spark-1.0.0 standalone分布式安装教程
Spark目前支持多种分布式部署方式:一.Standalone Deploy Mode:二Amazon EC2.:三.Apache Mesos:四.Hadoop YARN.第一种方式是单独部署,不需要 ...
- hdu.5195.DZY Loves Topological Sorting(topo排序 && 贪心)
DZY Loves Topological Sorting Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 ...
- [素材资源] Android开发性能优化简介(非常不错的)
转自(http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost& ...