公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#實現動態發布創建IIS站點幫助類(設置應用程序池、網站、訪問端口、兼容32位等)

admin
2021年1月30日 9:27 本文熱度 3898

準備工作:

1、引用 System.DirectoryServices 系統程序集

2、引用 Microsoft.Web.Administration 程序集,類庫位置在 C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll ,直接拷貝到項目引用即可

3、調用方式:

string bing = string.Format("{0}:{1}:{2}", item.BingIp, item.Port, item.BingAddr); bool result = IISManager.CreateWebSite(item.SiteName, filePath, bing);

4、源碼:

public class IISManager { /// <summary> /// 創建一個站點 /// </summary> /// <param name="name">站點名稱</param> /// <param name="physicalPath">項目所在路徑</param> /// <param name="bindingInformation">綁定信息</param> /// <param name="bindingProtocol">類型,默認http</param> /// <returns></returns> public static bool CreateWebSite(string name, string physicalPath, string bindingInformation = "*:80:", string bindingProtocol = "http") { try { ServerManager manager = new ServerManager(); //判斷應用程序池是否存在 if (manager.ApplicationPools[name] != null) { manager.ApplicationPools.Remove(manager.ApplicationPools[name]); } //判斷web應用程序是否存在 if (manager.Sites[name] != null) { manager.Sites.Remove(manager.Sites[name]); } manager.Sites.Add(name, bindingProtocol, bindingInformation, physicalPath); //添加web應用程序池 ApplicationPool pool = manager.ApplicationPools.Add(name); //設置web應用程序池的Framework版本 pool.ManagedRuntimeVersion = "v4.0"; //設置是否啟用32位應用程序 pool.SetAttributeValue("enable32BitAppOnWin64", true); //設置web網站的應用程序池 manager.Sites[name].Applications[0].ApplicationPoolName = name; manager.CommitChanges(); return true; } catch (Exception e) { return false; } } /// <summary> /// 創建一個站點 /// </summary> /// <param name="name">站點名稱</param> /// <param name="physicalPath">項目所在路徑</param> /// <param name="port">端口號</param> /// <returns></returns> public static bool CreateWebSite(string name, string physicalPath, int port = 80) { try { ServerManager manager = new ServerManager(); //判斷應用程序池是否存在 if (manager.ApplicationPools[name] != null) { manager.ApplicationPools.Remove(manager.ApplicationPools[name]); } //判斷web應用程序是否存在 if (manager.Sites[name] != null) { manager.Sites.Remove(manager.Sites[name]); } manager.Sites.Add(name, physicalPath, port); //添加web應用程序池 ApplicationPool pool = manager.ApplicationPools.Add(name); //設置web應用程序池的Framework版本 pool.ManagedRuntimeVersion = "v4.0"; //設置是否啟用32位應用程序 pool.SetAttributeValue("enable32BitAppOnWin64", true); //設置web網站的應用程序池 manager.Sites[name].Applications[0].ApplicationPoolName = name; manager.CommitChanges(); return true; } catch (Exception e) { return false; } } /// <summary> /// 創建虛擬目錄 /// </summary> /// <param name="vDirName">虛擬目錄名稱</param> /// <param name="path">實際路徑</param> /// <param name="iAuth">設置目錄的安全性 0-不允許匿名訪問,1-為允許,2-基本身份驗證,3-允許匿名+基本身份驗證,4-整合Windows驗證,5-允許匿名+整合Windows驗證</param> /// <param name="serverName">默認localhost</param> /// <returns></returns> public static bool CreateVirtualDirectory(string vDirName, string path, int iAuth = 1, string serverName = "localhost") { try { // 確定IIS版本   DirectoryEntry iisSchema = new DirectoryEntry("IIS://" + serverName + "/Schema/AppIsolated"); bool iisUnderNt = iisSchema.Properties["Syntax"].Value.ToString().ToUpper() == "BOOLEAN"; iisSchema.Dispose(); // 獲得管理權限 DirectoryEntry iisAdmin = new DirectoryEntry("IIS://" + serverName + "/W3SVC/1/Root"); // 如果虛擬目錄已經存在則刪除   foreach (DirectoryEntry v in iisAdmin.Children) { if (v.Name == vDirName) { try { iisAdmin.Invoke("Delete", new object[] { v.SchemaClassName, vDirName }); iisAdmin.CommitChanges(); } catch (Exception ex) { return false; } } } // 創建一個虛擬目錄 DirectoryEntry vDir = iisAdmin.Children.Add(vDirName, "IIsWebVirtualDir"); // 創建一個web應用 vDir.Invoke("AppCreate", !iisUnderNt); //應用程序名稱                 vDir.Properties["AppFriendlyName"][0] = vDirName; //設置讀取權限                 vDir.Properties["AccessRead"][0] = true; //值 true 表示不論文件類型是什么,文件或文件夾的內容都可以執行                 vDir.Properties["AccessExecute"][0] = false; //值 true 表示允許用戶將文件及其相關屬性上載到服務器上已啟用的目錄中,或者更改可寫文件的內容。 //只有使用支持 HTTP 1.1 協議標準的 PUT 功能的瀏覽器,才能執行寫入操作 vDir.Properties["AccessWrite"][0] = false; //值 true 表示如果是腳本文件或靜態內容,則可以執行文件或文件夾的內容。值 false 只允許提供靜態文件,如 HTML 文件 vDir.Properties["AccessScript"][0] = true; //設置為 true 時,瀏覽目錄時系統會加載該目錄的默認文檔(由 De, faultDoc 屬性指定)                 vDir.Properties["EnableDefaultDoc"][0] = true; //設置為 true 時,將啟用目錄瀏覽 vDir.Properties["EnableDirBrowsing"][0] = false; //包含一個或多個默認文檔的文件名,如果在客戶端的請求中不包含文件名,將把默認文檔的文件名返回給客戶端 vDir.Properties["DefaultDoc"][0] = "login.html,index.html,default.html,Default.aspx,index.aspx"; //項目路徑                 vDir.Properties["Path"][0] = path; //作為有效方案返回給客戶端的 Windows 驗證方案的設置 vDir.Properties["AuthFlags"][0] = iAuth; // NT格式不支持這特性 if (!iisUnderNt) { //頁面是否允許當前目錄的相對路徑(使用 ..\ 表示法) vDir.Properties["AspEnableParentPaths"][0] = true; } // 設置改變 vDir.CommitChanges(); return true; } catch (Exception ex) { return false; } } }

DirectoryEntry vDir = iisAdmin.Children.Add(vDirName, "IIsWebVirtualDir");


該文章在 2021/1/30 9:27:58 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 18禁美女脱光衣服自慰网站 | 国产无码影视 | 国产精品青草久久久久99 | 3d动漫精品啪啪一区二区免 | 国产精品一区二区久久精品 | 精品无码国产av综合 | 不卡福利视频一区二区三区 | 成人免费福利视频 | 极品少妇被猛得白浆直流草莓视 | 国产99久久久国 | 91九色蝌蚪熟女 | 91麻豆精品国产福 | 91人妻无码精品一区二区夜色 | av中文字幕精品一区二区久久久 | 国产韩国视频一区二区三区 | 成人在线一区二 | 91在线无码精品秘入口果冻 | 国产91社区在线播放 | av在线播放不卡 | 国产高清三级免费韩剧在线 | 国产偷亚洲电影在线观看网址 | av手机看片高清 | 国产黄色视频 | 99精品视频在线观看免费 | 成人在线免费激情 | 国产精品成人麻烦视频 | 精品久久久久久久中文字幕 | 国产色婷婷五月精品综合在线 | 国产成人片在线观看视频 | 国产91精品秘入口蝌蚪 | 国产欧美日韩综合一区二区三区 | 国产三级国产三级欧美三级 | 国产ts无码 | 精品国产一区二区三区av麻豆 | 国产高清精品亚洲一区二区三区 | 国产av永久福利资源网站 | 国产做无码视频在线观看浪潮 | 国产精品乱码高清在线观看 | 动漫精品无码中文字幕一区 | 高清成人爽a毛片免费直播 高清成人爽a毛片在线播放 | 高清无码喷水一区 |