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

在IIS6.0的帮助文档中,对于创建IIS,提供了三种程序管理方法,一种是WMI,另一种是ADSI,还有一种是命令行方法。

这里,采用网上代码比较多的ADSI编程方式进行。


用C#进行ADSI编程,需要引用添加名称空间:System.DirectoryServices

主要操作类是:DirectoryEntry

操作的内容主要是xml节点:这点上,最好从IIS-》网站右键-》所有任务-》将配置保存到一个文件

保存后,查看一下生成的xml内容。看一下网站的节点是什么格式的,这对编程有点帮助。

以下进入代码阶段

05233259_kHSc.gif 创建网站
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 " );

创建完网站后,要创建默认根节点,代码如下:

05233259_kHSc.gif 创建根节点
// 创建默认根节点目录
                    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帮助文档下的“参考->配置数据库参考属性"进行进一步了解!

打完,收工!

转载于:https://my.oschina.net/secyaher/blog/274108

猜你喜欢

转载自blog.csdn.net/weixin_34185560/article/details/91966903
今日推荐