zoukankan      html  css  js  c++  java
  • 对虚拟目录的操作(转)

    一、查看虚拟目录是否存在 
    private bool IsExitesVirtualDir(string virtualdirname) 

       
    bool exited =false
       DirectoryEntry _entry 
    = new DirectoryEntry("IIS://localhost/W3SVC/1/Root"); 
       DirectoryEntries _entries 
    = _entry.Children; 
       
    foreach(DirectoryEntry _cen in _entries) 
       

        
    if(_cen.Name == virtualdirname) 
         exited 
    = true
       }
     
       
    return exited; 
    }
     
    其中virtualdirpath指要建立的虚拟目录名称; 

    二、新增虚拟目录 
    private void CreateVirtualDir(string virtualdirname,string logicDir) 

       
    if(IsExitesVirtualDir(virtualdirname)) 
            DeleteVirtualDir(virtualdirname); 

       DirectoryEntry _rootEntry ; 
       _rootEntry 
    = new DirectoryEntry("IIS://localhost/W3SVC/1/root"); 
       DirectoryEntry _newVirDir; 
       _newVirDir 
    = _rootEntry .Children.Add(virtualdirpath,"IIsWebVirtualDir"); 
       _newVirDir.Invoke(
    "AppCreate",true); 
       _newVirDir.CommitChanges(); 
       _rootEntry .CommitChanges(); 
       _newVirDir.Properties[
    "AnonymousPasswordSync"][0= true
       _newVirDir.Properties[
    "Path"][0= logicDir + @"virtualdirentry\virtualname\"
       _newVirDir.CommitChanges(); 
    }
     
    _newVirDir.Properties[
    "Path"][0] 的值为虚拟目录对应的物理地址; 

    三、更新虚拟目录 
    public void Update(string virtualdirname) 

       
    //判断需要更改的虚拟目录是否存在 
       if(_IsExitesVirtualDir(virtualdirname)) 
       

        DirectoryEntry _rootEntry ; 
        _rootEntry 
    = new DirectoryEntry("IIS://localhost/W3SVC/1/root"); 
        DirectoryEntry ode 
    = _rootEntry.Children.Find(virtualdirname,"IIsWebVirtualDir"); 
        UpdateDirInfo(ode); 
       }
     
    }
     
    private void UpdateDirInfo(DirectoryEntry de) 

       de.Properties[
    "AnonymousUserName"][0= AnonymousUserName; 
       de.Properties[
    "AnonymousUserPass"][0= AnonymousUserPass; 
       de.Properties[
    "AccessRead"][0= boolen; 
       de.Properties[
    "AccessExecute"][0= boolen; 
       de.Properties[
    "AccessWrite"][0= boolen; 
       de.Properties[
    "AuthBasic"][0= boolen; 
       de.Properties[
    "AuthNTLM"][0= boolen; 
       de.Properties[
    "ContentIndexed"][0= boolen; 
       de.Properties[
    "EnableDefaultDoc"][0= boolen; 
       de.Properties[
    "EnableDirBrowsing"][0= boolen; 
       de.Properties[
    "AccessSSL"][0= boolen; 
       de.Properties[
    "AccessScript"][0= boolen; 
       de.Properties[
    "DefaultDoc"][0= DefaultDoc; 
       de.Properties[
    "Path"][0= Path; 
       de.CommitChanges(); 
    }
     

    四、删除虚拟目录 
    private void DeleteVirtualDir(string virtualdirname) 

       DirectoryEntry _rootEntry ; 
       _rootEntry 
    = new DirectoryEntry("IIS://localhost/W3SVC/1/root"); 
       
    object[] paras = new object[2]; 
       paras[
    0= "IIsVirtualDir"
       paras[
    1= virtualdirname; 
       _rootEntry .Invoke(
    "Delete",paras); 
       _rootEntry .CommitChanges(); 
    }
     


  • 相关阅读:
    Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)
    zookeeper 集群配置
    centos yum 安装 mariadb
    Oracle jdbc 插入 clob blob
    oracle 删除用户,提示“无法删除当前已连接的用户”
    oracle 创建表空间,用户并授权
    Linux 根分区扩容
    同时运行多个 tomcat 修改端口
    mysql新建用户及授权
    php sql 类似 mybatis 传参
  • 原文地址:https://www.cnblogs.com/ghd258/p/330899.html
Copyright © 2011-2022 走看看