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(); 
    }
     

    作者:wpf之家
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    巨蟒django之权限9:前端展示修改删除合并&&权限展示
    巨蟒django之权限8:排序&&菜单展开权限归属
    巨蟒django之权限7:动态生成一级&&二级菜单
    巨蟒django之权限6: 权限控制表设计&&登录权限
    巨蟒django之CRM5 学习记录&&课程记录&&班级管理&&私户的数量上限
    巨蟒django之CRM4 一些小功能
    巨蟒django之CRM3 添加和编辑客户&&公户和私户的展示和转换
    巨蟒django之CRM2 展示客户列表&&分页
    巨蟒django之CRM1 需求分析&&表结构设计&&注册登录验证
    sysfs接口函数到建立_DEVICE_ATTR
  • 原文地址:https://www.cnblogs.com/wpf123/p/2347372.html
Copyright © 2011-2022 走看看