天天看点

网站安装打包 新建网站[四][创建网站] 中

在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帮助文档下的“参考->配置数据库参考属性"进行进一步了解!

打完,收工!