IIS应用程序池的使用代码来管理的方法

原创 2004年07月07日 10:25:00

using System;
using System.DirectoryServices;
using System.Reflection;

namespace ADSI1
{
  ///
  /// Small class containing methods to configure IIS.
  ///
  class ConfigIIS
  {
    ///
    /// The main entry point for the application.
    ///
    [STAThread]
   //主程序入口,可以选择用哪些,我为了方便,全部功能都写上去了。
    static void Main(string[] args)
    {
      string AppPoolName = "MyAppPool";
      string newvdir1 = "MyVDir";
      DirectoryEntry newvdir = CreateVDir(newvdir1);

      CreateAppPool(AppPoolName);
      AssignAppPool(newvdir, AppPoolName);

      ConfigAppPool("Stop",AppPoolName);
    }

  //创建虚拟目录
    static DirectoryEntry CreateVDir (string vdirname)
    {
      DirectoryEntry newvdir;
      DirectoryEntry root=new DirectoryEntry("IIS://localhost/W3SVC/1/Root");
      newvdir=root.Children.Add(vdirname, "IIsWebVirtualDir");
      newvdir.Properties["Path"][0]= "c://inetpub//wwwroot";
      newvdir.Properties["AccessScript"][0] = true;
      newvdir.CommitChanges();
      return newvdir;
    }

//创建新的应用程序池。
    static void CreateAppPool(string AppPoolName)
    {
      DirectoryEntry newpool;
      DirectoryEntry apppools=new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
      newpool=apppools.Children.Add(AppPoolName, "IIsApplicationPool");
      newpool.CommitChanges();
    }

    static void AssignAppPool(DirectoryEntry newvdir, string AppPoolName)
    {
      object[] param={0, AppPoolName, true};
      newvdir.Invoke("AppCreate3", param);
    }

     //method是管理应用程序池的方法,有三种Start、Stop、Recycle,而AppPoolName是应用程序池名称
     static void ConfigAppPool(string method,string AppPoolName)
     {
        DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
        DirectoryEntry findPool = appPool.Children.Find(AppPoolName,IIsApplicationPool");
        findPool.Invoke(method,null);
        appPool.CommitChanges();
        appPool.Close();
     }

      //应用程序池的列表
      static void AppPoolList()
      {
         DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
          foreach(DirectoryEntry a in appPool.Children)
          {
               Console.WriteLine(a.Name);
          } 
      }

     private void VDirToAppPool()
        {
          DirectroryEntry VD = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT/ccc");
          Console.WriteLine(VD.Properties["AppPoolId"].Value.ToString());
         }
  }
}

AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)

using System.Collections.Generic; using System.DirectoryServices; using System.Linq; using Microsoft...
  • a497785609
  • a497785609
  • 2014-05-31 11:15:05
  • 4631

IIS系列:三、管理应用程序池

简介:本文介绍如何创建应用程序池以及如何修改应用程序池配置。 管理应用程序池: 1、右键点击应用程序池,选择“添加应用程序池“; 2、输入应用程序池名称,选择支持的.Net版本,V2.0支持.Ne...
  • Lyu_JinBo
  • Lyu_JinBo
  • 2016-01-26 17:26:45
  • 1106

IIS应用程序池的介绍

默认情况下,在安装IIS时会创建一个默认网站并创建一个名为DefaultAppPool的应用程序池为其使用;默认配置下的应用程序池已经可以很好的进行工作,建议你只有在特别需要时才对应用程序池进行配置。...
  • jkpi888
  • jkpi888
  • 2013-12-03 23:05:53
  • 1745

对于IIS上的应用程序池监控

最近公司的 运维碰到了一些问题,在客户某台服务器(系统为2003,IIS版本为6.0)上某个比较重要的应用程序池会不定期的停止,原因未知。这样就影响了服务的运行。 运维启动应用程序池后问题解决,但是因...
  • zx75991
  • zx75991
  • 2016-08-26 15:13:04
  • 1318

为应用程序池指定标识 (IIS 7)

为应用程序池指定标识 (IIS 7) 1(共 1)对本文的评价是有帮助 - 评价此主题 应用到: Windows 7, Windows Server 2008, Windows Serve...
  • daocaorencrl
  • daocaorencrl
  • 2013-03-10 11:22:51
  • 2303

C#IIS网站应用程序池列表添加修改删除

//添加应用程序池空间引用using System.DirectoryServices;using System.Text; using System.Text.RegularExpressions;...
  • xqf222
  • xqf222
  • 2007-11-28 14:56:00
  • 3575

IIS里找不到应用程序池解决方法

在IIS下面找不到应用程序池选项,解决方法: IIS-“网站”-“属性”-服务  将”运行于iis5.0隔离进程 “选项去掉,重启IIS 即可。...
  • jimlong
  • jimlong
  • 2013-03-07 17:28:45
  • 3694

C#操作IIS程序池及站点的创建配置实现代码

最近在做一个WEB程序的安装包;对一些操作IIS进行一个简单的总结;主要包括对IIS进行站点的新建以及新建站点的NET版本的选择,还有针对IIS7程序池的托管模式以及版本的操作...
  • li_xiao_ming
  • li_xiao_ming
  • 2014-07-28 19:48:38
  • 2177

如何设置使 IIS 应用程序池使用 ASP.Net 3.5 而不是 2.0

一个被很多人提起过的问题:我应当如何告诉我的 IIS 应用程序或者虚拟目录使用 ASP.NET 3.5 而不是 ASP.NET 2.0 呢?         人们一般会进入 IIS6 或者 ...
  • zlwzlwzlw
  • zlwzlwzlw
  • 2013-11-18 16:07:10
  • 9164

IIS应用程序池添加ASP.NET v4.0

IIS应用程序池添加ASP.NET v4.0 可能在安装.NET Framewrok 4.0之前,IIS就已经装好了,结果在IIS的应用程序...
  • CatchMe_439
  • CatchMe_439
  • 2017-01-20 22:35:41
  • 2466
收藏助手
不良信息举报
您举报文章:IIS应用程序池的使用代码来管理的方法
举报原因:
原因补充:

(最多只允许输入30个字)