国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > IIS > 正文

C#如何控制IIS動態添加刪除網站詳解

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

我的目的是在Winform程序里面,可以直接啟動一個HTTP服務端,給下游客戶連接使用。

查找相關技術,有兩種方法:

1.使用C#動態添加網站應用到IIS中,借用IIS的管理能力來提供HTTP接口。本文即對此做說明

2.在Winform程序中實現Web服務器邏輯,自己監聽和管理客戶端請求;

利用IIS7自帶類庫管理IIS現在變的更強大更方便,而完全可以不需要用DirecotryEntry這個類了(樂博網中很多.net管理iis6.0的文章都用到了DirecotryEntry這個類 ),Microsoft.Web.Administration.dll位于IIS的目錄(%WinDir%//System32//InetSrv)下,使用時需要引用,它基本上可以管理IIS7的各項配置。

這個類庫的主體結構如下:

 

這里只舉幾個例子說明一下基本功能,更多功能請參考MSDN。

建立站點

string SiteName="樂博網"; //站點名稱string BindArgs="*:80:"; //綁定參數,注意格式string apl="http"; //類型string path="e://樂博網"; //網站路徑ServerManager sm = new ServerManager();sm.Sites.Add(SiteName,apl,BindArgs,path);sm.CommitChanges();

修改站點

Site site=sm.Sites["newsite"];site.Name=SiteName;site.Bindings[0].EndPoint.Port=9999;site.Applications[0].VirtualDirectories[0].PhysicalPath=path;sm.CommitChanges();

刪除站點

Site site=sm.Sites["樂博網"];sm.Sites.Remove(site);sm.CommitChanges();

站點操作

方法一:

#region CreateWebsite 添加網站  public string CreateWebSite(string serverID, string serverComment, string defaultVrootPath, string HostName, string IP, string Port)  {   try   {    ManagementObject oW3SVC = new ManagementObject (_scope, new ManagementPath(@"IIsWebService='W3SVC'"), null);    if (IsWebSiteExists (serverID))    {     return "Site Already Exists...";    }    ManagementBaseObject inputParameters = oW3SVC.GetMethodParameters ("CreateNewSite");    ManagementBaseObject[] serverBinding = new ManagementBaseObject[1];    serverBinding[0] = CreateServerBinding(HostName, IP, Port);    inputParameters["ServerComment"] = serverComment;    inputParameters["ServerBindings"] = serverBinding;    inputParameters["PathOfRootVirtualDir"] = defaultVrootPath;    inputParameters["ServerId"] = serverID;    ManagementBaseObject outParameter = null;    outParameter = oW3SVC.InvokeMethod("CreateNewSite", inputParameters, null);    // 啟動網站    string serverName = "W3SVC/" + serverID;    ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null);    webSite.InvokeMethod("Start", null);    return (string)outParameter.Properties["ReturnValue"].Value;   }   catch (Exception ex)   {    return ex.Message;   }  }  public ManagementObject CreateServerBinding(string HostName, string IP, string Port)  {   try   {    ManagementClass classBinding = new ManagementClass(_scope, new ManagementPath("ServerBinding"), null);    ManagementObject serverBinding = classBinding.CreateInstance();    serverBinding.Properties["Hostname"].Value = HostName;    serverBinding.Properties["IP"].Value = IP;    serverBinding.Properties["Port"].Value = Port;    serverBinding.Put();    return serverBinding;   }   catch   {    return null;   }  }    #endregion  #region 添加網站事件  protected void AddWebsite_Click(object sender, EventArgs e)  {   IISManager iis = new IISManager();   iis.Connect();   string serverID = "5556";   string serverComment = "Create Website";   string defaultVrootPath = @"D:/web";   string HostName = "World";   string IP = "";   string Port = "9898";   ReturnMessage.Text = iis.CreateWebSite(serverID,serverComment,defaultVrootPath,HostName,IP,Port);  }  #endregion  #region DeleteSite 刪除站點  public string DeleteSite(string serverID)  {   try   {    string serverName = "W3SVC/" + serverID;    ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null);    webSite.InvokeMethod("Stop", null);    webSite.Delete();    webSite = null;    return "Delete the site succesfully!";   }   catch (Exception deleteEx)   {    return deleteEx.Message;   }  }  #endregion
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汶川县| 本溪市| 静宁县| 福州市| 河间市| 大化| 齐河县| 措勤县| 广州市| 定州市| 五指山市| 安新县| 门源| 河东区| 太谷县| 宁蒗| 平定县| 峨边| 万源市| 中山市| 邵武市| 长子县| 肇庆市| 绥滨县| 湟中县| 大厂| 临沂市| 苏州市| 彭阳县| 新河县| 株洲市| 南皮县| 奈曼旗| 宝清县| 绥化市| 富川| 丹江口市| 固阳县| 彩票| 吉安市| 四平市|