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

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());
         }
  }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值