C# IIS站點管理--Microsoft.Web.Administration.dll


Microsoft中提供了管理IIS7及以上版本一個非常強大的API - Microsoft.Web.Administration.dll,利用該API可以讓我們很方便的以編程的方式管理和設定IIS的各項配置信息了。

Microsoft.Web.Administration.dll位於IIS目錄下(%WinDir%\System32\InetSrv)下,在項目中添加引用后就可以使用這些API了。

參考資料:https://msdn.microsoft.com/en-us/library/microsoft.web.administration(v=vs.90).aspx

下面通過代碼進行web發布:

1、添加 Microsoft.Web.Administration.dll 引用

2、引用命名空間 using Microsoft.Web.Administration;

     /// <summary>
        /// 使用代碼進行web發布
        /// </summary>
        /// <param name="webName">web應用程序名稱</param>
        /// <param name="port">web應用程序端口</param>
        /// <returns></returns>
        private bool PublishWeb(string webName, int port)
        {
            try
            {
                ServerManager iismanager = new ServerManager();
                //判斷應用程序池是否存在
                if (iismanager.ApplicationPools[webName] != null)
                {
                    iismanager.ApplicationPools.Remove(iismanager.ApplicationPools[webName]);
                }
                //判斷web應用程序是否存在
                if (iismanager.Sites[webName] != null)
                {
                    iismanager.Sites.Remove(iismanager.Sites[webName]);
                }
                //建立web應用程序(第二個參數為安裝文件的地址)
                iismanager.Sites.Add(webName, "c:\\webFilePath", port);
                //添加web應用程序池
                ApplicationPool pool = iismanager.ApplicationPools.Add(webName);
                //設置web應用程序池的Framework版本(注意版本號大小寫問題)
                pool.ManagedRuntimeVersion = "v4.0";
                //設置是否啟用32為應用程序
                pool.SetAttributeValue("enable32BitAppOnWin64", true);
                //設置web網站的應用程序池
                iismanager.Sites[webName].Applications[0].ApplicationPoolName = webName;
                //提交更改
                iismanager.CommitChanges();
                return true;
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }

在對web應用程序池屬性進行設置時,可以參考IIS管理器中對應的屬性,點擊每個屬性在說明框中都會有屬性的名稱,通過該名稱可以通過代碼設置對應的值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM