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

简介:

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

打完,收工!

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/01/25/1655857.html

相关文章
下载网页资源好用的插件-----Save All Resouces
下载网页资源好用的插件-----Save All Resouces
|
5月前
|
JavaScript
用户安装nodejs设置路径打包项目
用户安装nodejs设置路径打包项目
89 1
|
机器人 Python
在阿里云RPA中,获取下载的文件
在阿里云RPA中,获取下载的文件
347 2
|
开发工具 开发者 iOS开发
​ 如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
1、ipa包符合要求,显示正在处理,这种就是成功上传,等待处理即可(根据包大小,一般处理几分钟到一两个钟都有可能) 2、ipa不符合要求,没有出现正在处理,或者刷新页面正在处理的版本消失 出现这种情况说明你上传的这个ipa包有问题,苹果会发送具体原因到邮箱(开发者账号就是邮箱地址,) 登录邮箱去查看反馈邮件(反馈邮件也可能在垃圾箱),修改错误重新再打包上传。
​  如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
|
安全 关系型数据库 MySQL
如何下载和安装 WordPress 核心文件?
您有两种不同的选择来下载和安装 WordPress。 1.手动下载 WordPress 的更长、更自定义的方式允许您在开始设计之前根据站点的确切需求定制安装。 2.下载和安装 WordPress 的第二个选项是大多数 WordPress 主机免费提供的一键式选项。此选项是两者中较容易的一个,但在某些情况下,会给您留下额外的工作。
如何下载和安装 WordPress 核心文件?
|
移动开发 安全 JavaScript
最新上传ipa到appstore的步骤说明​
我们平时在开发原生的ios app的时候,有苹果电脑在手,上传ipa文件到苹果开发者中心比较简单,直接在xcode上就可以实现了。
|
Java 定位技术 语音技术
​如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
​如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
|
移动开发 安全 JavaScript
2022最新上传ipa到appstore的步骤说明​
2022最新上传ipa到appstore的步骤说明​
139 0
2022最新上传ipa到appstore的步骤说明​
|
Java 应用服务中间件 Linux
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
318 0
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
|
安全 Java
【JavaWeb】案例:读取 WEB 工程下的资源文件、文件下载、点击切换验证码
本期主要介绍读取 WEB 工程下的资源文件、文件下载、点击切换验证码
139 0
【JavaWeb】案例:读取 WEB 工程下的资源文件、文件下载、点击切换验证码