亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > IIS > 正文

用ADSI控制IIS創建網站, 虛擬目錄…… (C#)

2024-08-29 03:13:54
字體:
來源:轉載
供稿:網友

 這是當年趕工的網站用到的東東, 結果快做完了警察叔叔來個網站要備案,朋友不干了,我也停工了,

翻出來共享了~

據說,控制iis和別的ms的垃圾(ms的ftp, 用戶管理.....)可以用adsi和wmi(win2k3的才好),

參考了網友們的資料,有版權問題麻煩email一下

原來是按三層寫的代碼沒有整理, 權當筆記,省點稿紙, 大家看個大概, 詳細的msdn都有!

三個文件:

////////filename: hostservice.cs

//////////////////////////////////////////////////////////////////////////////////////////////////

using system;
using system.data;

using wooyea.website.modules.hosts.dataaccess;
using wooyea.website.modules.hosts.configuration;

namespace wooyea.website.modules.hosts.business
{
 /// <summary>
 /// summary description for hostservice.
 /// </summary>
 public class hostservice
 {
  #region private fields

  private modulesettings settings;

  private int  id;
  private string name;
  private string description;
  private decimal price;   // the field in sql server is the type of smallmoney
  private string ip;
  private int  port;
  private string rootpath;
  private int  maxbandwidth;
  private int  maxconnections;
  private int  cpulimit;
  private byte serversize;
  private byte appisolated;
  #endregion

  #region properties
  
  public int id
  {
   get {return id;}
   set {id = value;}
  }

  public string name
  {
   get {return name;}
   set {name = value;}
  }

  public string description
  {
   get {return description;}
   set {description = value;}
  }

  public decimal price
  {
   get {return price;}
   set {price = value;}
  }

  public string ip
  {
   get {return ip;}
   set {ip = value;}
  }

  public int port
  {
   get {return port;}
   set {port = value;}
  }

  public string rootpath
  {
   get {return rootpath;}
   set {rootpath = value;}
  }
  
  public int maxbandwidth
  {
   get {return maxbandwidth;}
   set {maxbandwidth = value;}
  }

  public int cpulimit
  {
   get {return cpulimit;}
   set {cpulimit = value;}
  }

  public byte serversize
  {
   get {return serversize;}
   set {serversize = value;}
  }

  #endregion

  public hostservice()
  {
   configuration.moduleconfig config = new moduleconfig();
   settings = config.getsettings();
  }

  public hostservice(string name, string description, decimal price, string ip, string rootpath) : this()
  {
   this.name   = name;
   this.description = description;
   this.price   = price;
   this.ip    = ip;
   this.rootpath  = rootpath;

  }

  public hostservice(int id) : this()
  {
   this.id = id;
   getdetails();
  }

  public void getdetails()
  {
   dataaccess.hostservices datahostservices = new wooyea.website.modules.hosts.dataaccess.hostservices(settings.connectionstring);

   datarow temprow = datahostservices.getdetails(id);

   this.name  = (string)temprow["hostservicename"];
   this.price  = convert.todecimal(temprow["hostserviceprice"]);
   this.ip   = (string)temprow["hostserviceip"];
   this.port  = (int)temprow["hostserviceport"];
   this.rootpath = (string)temprow["hostservicerootpath"];

  }
  
  public dataset gethostservices()
  {
   dataaccess.hostservices datahostservices= new wooyea.website.modules.hosts.dataaccess.hostservices(settings.connectionstring);

   return datahostservices.gethostservices();
  }

  public int create()
  {
   dataaccess.hostservices datahostservices= new wooyea.website.modules.hosts.dataaccess.hostservices(settings.connectionstring);

   return datahostservices.insert(name, description, price, rootpath, ip);
  }

  public bool update()
  {
   dataaccess.hostservices datahostservices= new wooyea.website.modules.hosts.dataaccess.hostservices(settings.connectionstring);

   return datahostservices.update(id, name, description, price, rootpath, ip);
  }

 }
}
////////////end hostservice.cs/////////////////////////////////////////////////////////////////////

// filename: iismanager.cs

using system;
using system.collections;
using system.text.regularexpressions;
using system.text;
using system.directoryservices;

using wooyea.website.modules.hosts;

namespace wooyea.website.modules.hosts.business
{
 /// <summary>
 /// summary description for class1.
 /// </summary>
 class iismanager
 {

  public iismanager()
  {}

  public directoryentry getdirectoryentry(string entrypath)
  {
   // creater direntry instance depend on local or remote
   directoryentry direntry = new directoryentry(entrypath);

   return direntry;
  }

  public bool createsite(websiteinfo newsiteinfo)
  {


   string entpath = "iis://localhost/w3svc";
   directoryentry rootentry = getdirectoryentry(entpath);

   string newsiteid = getnewsiteid();

   directoryentry newsiteentry = rootentry.children.add(newsiteid, "iiswebserver");
   newsiteentry.commitchanges();

   newsiteentry.properties["serverbindings"].value = newsiteinfo.serverbindings;
   newsiteentry.properties["servercomment"].value = newsiteinfo.comment;
   newsiteentry.commitchanges();

   directoryentry vdirentry = newsiteentry.children.add("root", "iiswebvirtualdir");
   vdirentry.commitchanges();

   vdirentry.properties["path"].value = newsiteinfo.path;        //ph patth in disk
   vdirentry.commitchanges();

   return true;

  }

  /// <summary>
  /// get and return a new website id of specify host
  /// </summary>
  /// <returns>the smallest new website id of the host</returns>
  public string getnewsiteid()
  {
   arraylist idlist = new arraylist();
   string tmpstr;

   string entrypath = "iis://localhost/w3svc";
   directoryentry entry = getdirectoryentry(entrypath);
  
   foreach (directoryentry child in entry.children)
   {
    if (child.schemaclassname == "iiswebserver")
    {
     tmpstr = child.name.tostring();
     idlist.add(convert.toint32(tmpstr));
    }
   }

   idlist.sort();

   int i = 1;
   foreach (int id in idlist)
   {
    if (i == id)
    {
     i++;
    }
   }

   return i.tostring();
  }


 }
}

///////////////////end iismanager/////////////////////////////

//file name:  website.cs

using system;
using system.directoryservices;

using wooyea.website.modules.hosts.configuration;

using wooyea.website.modules.hosts.business;
using wooyea.website.modules.hosts.dataaccess;

namespace wooyea.website.modules.hosts.business
{
 /// <summary>
 /// summary description for website.
 /// </summary>
 public class website
 {
  #region private fields

  private modulesettings settings;

  private websiteinfo siteinfo;

  #endregion
  
  #region properties
 
  #endregion

  website()
  {
   configuration.moduleconfig config = new moduleconfig();
   settings = config.getsettings();
  }

  public website(string newheader, string newcomment, string newip, int newport, string newpath) : this()
  {
   this.siteinfo.header = newheader;
   this.siteinfo.ip = newip;
   this.siteinfo.port = newport;
   this.siteinfo.comment = newcomment;
   this.siteinfo.path = newpath;
  }
  /// <summary>
  /// create a new data record in website table and another one in the cross table
  /// </summary>
  /// <param name="userid">userid of current priciple</param>
  /// <returns></returns>
  public int createsite(int userid)
  {


   iismanager iis = new iismanager();
   iis.createsite(siteinfo);

   dataaccess.websites newsite = new websites(settings.connectionstring);
  
   return newsite.add(siteinfo, userid);

  }

 }
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久国产精品视频| 另类美女黄大片| 国产欧美一区二区白浆黑人| 久久久久久久久久久av| 亚洲免费精彩视频| 欧美视频二区36p| 欧美午夜精品在线| 亚洲欧美中文日韩在线v日本| 欧美日本国产在线| 国产精品美女免费| 亚洲精品免费av| 亚洲日韩欧美视频| 欧美日韩国产va另类| 黑丝美女久久久| 欧美激情亚洲一区| 亚洲肉体裸体xxxx137| 色樱桃影院亚洲精品影院| 隔壁老王国产在线精品| 深夜成人在线观看| 精品久久香蕉国产线看观看亚洲| 亚洲美女av电影| 91精品国产沙发| 日韩精品极品在线观看| 国产精品久久久久久久久久| 日本精品视频网站| 97在线视频免费观看| 国产欧美精品一区二区三区介绍| 欧美日韩亚洲一区二区| 亚洲精品国偷自产在线99热| 91网站在线免费观看| 国产免费一区二区三区在线观看| xxxxxxxxx欧美| 2019中文字幕在线| 日韩精品高清在线| 亚洲国产精品久久精品怡红院| 最近2019免费中文字幕视频三| 日韩免费av片在线观看| 欧美激情视频一区| 45www国产精品网站| 国内精品小视频在线观看| 精品自拍视频在线观看| 成人h片在线播放免费网站| 热久久美女精品天天吊色| 久久色精品视频| 久久乐国产精品| 亚洲一级黄色av| 成人疯狂猛交xxx| 国产成人亚洲综合| 最好看的2019的中文字幕视频| 97视频在线免费观看| 国产91在线高潮白浆在线观看| 亚洲国产欧美精品| 亚洲精品黄网在线观看| 日韩人在线观看| 热久久免费国产视频| 国产欧美日韩精品在线观看| 欧美人在线观看| 久久精品国产亚洲7777| 欧美电影免费看| 国产精品扒开腿做爽爽爽视频| 久久久97精品| 亚洲美女中文字幕| 97婷婷大伊香蕉精品视频| 欧美日韩国产限制| 欧美在线中文字幕| 在线看日韩欧美| 久久深夜福利免费观看| 久久久久亚洲精品| 亚洲精品一区二区三区不| 青草青草久热精品视频在线网站| 亚洲丝袜一区在线| 国产精品视频男人的天堂| 伊人久久久久久久久久久| 久久精品国产99国产精品澳门| 欧美在线不卡区| 亚洲国产成人在线播放| 国产精品久久久久久久久久久久| 国产一区二区三区视频免费| 精品久久久久久中文字幕大豆网| 国内精品久久久久久影视8| 51ⅴ精品国产91久久久久久| 午夜精品一区二区三区av| 欧美老肥婆性猛交视频| 成人激情视频在线观看| 欧美性色19p| 日韩精品在线视频观看| 欧美精品性视频| 成人性生交大片免费观看嘿嘿视频| 韩日精品中文字幕| 日韩欧美福利视频| 亚洲自拍在线观看| 色悠悠国产精品| 97人人爽人人喊人人模波多| 色悠悠国产精品| 亚洲美女性生活视频| 日韩av三级在线观看| 久久久久亚洲精品国产| 国产精品久久久久久久久免费看| 亚洲国产另类久久精品| 国产精品视频在线观看| 亚洲乱码国产乱码精品精| 色偷偷综合社区| 日韩亚洲国产中文字幕| 亚洲白拍色综合图区| 精品中文字幕在线| 欧美一区二区大胆人体摄影专业网站| 欧美丝袜一区二区| 欧美日本高清视频| 欧洲午夜精品久久久| 91在线观看免费高清完整版在线观看| 亚洲男人7777| 在线国产精品视频| 51视频国产精品一区二区| 久久全国免费视频| 黑人精品xxx一区一二区| 久久久精品视频在线观看| 亚洲欧美制服综合另类| 久久久久一本一区二区青青蜜月| 国产精品日韩在线观看| 国产999精品视频| 亚洲国产精品资源| 国产亚洲精品久久久久久牛牛| 日韩一区二区久久久| 国产午夜精品美女视频明星a级| 久久精品视频va| 欧美性猛交xxxx| 日韩av电影国产| 成人免费观看网址| 欧美猛少妇色xxxxx| 久久av资源网站| 色与欲影视天天看综合网| 亚洲欧美日韩精品| 欧美精品18videosex性欧美| 亚洲一区二区三区乱码aⅴ| 日韩在线观看免费高清完整版| 亚洲人a成www在线影院| 中文字幕日韩专区| 欧美体内谢she精2性欧美| 午夜精品99久久免费| 日韩精品中文在线观看| 奇米4444一区二区三区| 91中文在线视频| 91产国在线观看动作片喷水| 欧美中文在线观看| 欧美一级大片视频| 久久久精品视频成人| 欧美日韩国产成人高清视频| 国产精品夜色7777狼人| 亚洲一区二区三区sesese| 国产精品极品美女在线观看免费| 亚洲成人网久久久| 国产精品久久av| 97精品国产91久久久久久| 精品亚洲夜色av98在线观看| 欧美寡妇偷汉性猛交| 韩国精品美女www爽爽爽视频| 久久久影视精品| 日韩视频第一页| 国产一区二区三区久久精品| 日韩亚洲一区二区| 中文字幕欧美专区| 国内精品久久久久久| 在线观看日韩www视频免费| 欧美视频不卡中文|