以往,要在 IIS 6 新增網站,增加 application 或 application pool ,都必須靠人工由 inetmgr 操作,或寫 script 操作 activeX 元件。
不是非常方便。
學了 .net 後,這些工作並沒有得到改善。原因是 IIS 6 仍然是 unmanaged code。
終於, IIS 7 算是改寫了。因此,可以用下面的程式來新增一個 "MyDemoSite" 網站,port 是 8080。該網站的根目錄是 c:\demoSite。
並建立一個 applicatioin pool 為 "demoPool",且是 intergrated。並將該網站的 application pool 設為 "demoPool"。
(ps: 上一段的文字描述,反而不如程式碼來的清楚)
首先,必須 add reference。必須瀏覽到 C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll
然後再寫下面這一段
ServerManager serverManager = new ServerManager(); serverManager.Sites.Add("MyDemoSite", @"c:\demoSite", 8080); ApplicationPool pool = serverManager.ApplicationPools.Add("demoPool"); pool.ManagedPipelineMode = ManagedPipelineMode.Integrated; serverManager.Sites["MyDemoSite"].Applications["/"].ApplicationPoolName = "demoPool"; serverManager.CommitChanges();這一段程式,必須由具有權限的人來執行。否則會發生例外。
沒有留言:
張貼留言