zoukankan      html  css  js  c++  java
  • 网站安装打包 新建网站[四][创建网站] 中

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

    打完,收工!

    版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    个人微信公众号
    创业QQ群:617713515
    Donation(扫码支持作者):支付宝:
    Donation(扫码支持作者):微信:
  • 相关阅读:
    PostMan测试WebService接口
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
    百度编辑器固定高度后图片框定位不准
    h5样式
    echarts-liquidfill 水球显示小数点
    工具
    linux使用windows磁盘,挂载共享目录
    微信订阅号关注问题
    linux 文件传输 SCP
    mysql 字符串截取
  • 原文地址:https://www.cnblogs.com/cyq1162/p/1655857.html
Copyright © 2011-2022 走看看