天天看點

網站安裝打包 建立網站[四][建立網站] 中

在iis6.0的幫助文檔中,對于建立iis,提供了三種程式管理方法,一種是wmi,另一種是adsi,還有一種是指令行方法。

這裡,采用網上代碼比較多的adsi程式設計方式進行。

用c#進行adsi程式設計,需要引用添加名稱空間:system.directoryservices

主要操作類是:directoryentry

操作的内容主要是xml節點:這點上,最好從iis-》網站右鍵-》所有任務-》将配置儲存到一個檔案

儲存後,檢視一下生成的xml内容。看一下網站的節點是什麼格式的,這對程式設計有點幫助。

以下進入代碼階段

網站安裝打包 建立網站[四][建立網站] 中
網站安裝打包 建立網站[四][建立網站] 中

directoryentry iisentry = new directoryentry("iis://localhost/w3svc");//獲得iis節點

//建立站點websiteid為整形,随便生成,不重複即可,可能引發的問題,看我之前的一篇文章:

//c# 建立網站 無法啟動與停止的問題

//http://www.cnblogs.com/cyq1162/archive/2010/01/09/1642919.html

directoryentry site = (directoryentry)iisentry.invoke("create", "iiswebserver", websiteid);

site.invoke("put", "servercomment", websitename);

site.invoke("put", "keytype", "iiswebserver");

arraylist serverbindings = new arraylist();

serverbindings.add(websiteip + ":" + websiteport + ":" + websitedomain);

if (websiteip2 != "" && websiteport2 != "")

{

   serverbindings.add(websiteip2 + ":" + websiteport2 + ":" + websitedomain);

}

site.invoke("put", "serverbindings", serverbindings.toarray());//這裡是綁定多個ip

site.invoke("put", "serverstate", 4);//4為停止,2為啟動

site.invoke("put", "frontpageweb", 1);

site.invoke("put", "defaultdoc", "index.html");

site.invoke("put", "serverautostart", 0);

site.invoke("put", "authflags", 0);

site.invoke("put", "scriptmaps", scriptarray().toarray());//這裡是一大堆2.0的腳本

site.invoke("put", "serversize", 1);

site.invoke("setinfo");

網站安裝打包 建立網站[四][建立網站] 中

建立完網站後,要建立預設根節點,代碼如下:

網站安裝打包 建立網站[四][建立網站] 中
網站安裝打包 建立網站[四][建立網站] 中

//建立預設根節點目錄

                    directoryentry sitevdir = site.children.add("root", "iiswebvirtualdir");

                    sitevdir.properties["appisolated"][0] = 2;

                    sitevdir.properties["path"][0] = websitepath;

                    sitevdir.properties["accessflags"][0] = 513;

                    sitevdir.properties["frontpageweb"][0] = 1;

                    sitevdir.properties["approot"][0] = string.format("/lm/w3svc/{0}/root", websiteid);

                    sitevdir.properties["appfriendlyname"][0] = websitename;

                    sitevdir.properties["authflags"][0] = 0;

                    sitevdir.properties["accessscript"][0] = true;

                    sitevdir.properties["accesssource"][0] = true;

                    sitevdir.properties["dirbrowseflags"][0] = 1073741886;

                    sitevdir.properties["authntlm"][0] = true;//內建win身份驗證

                    sitevdir.properties["authanonymous"][0] = true;//內建win身份驗證

                    sitevdir.properties["uncpassword"][0] = "";

                    sitevdir.properties["defaultdoc"][0] = websitedefaultdoc;

                    sitevdir.commitchanges();

                    site.commitchanges();

網站安裝打包 建立網站[四][建立網站] 中

 關于屬性及意思,除了可通過導出xml來檢視之外,也可以看iis幫助文檔下的“參考->配置資料庫參考屬性"進行進一步了解!

打完,收工!