• .net对虚拟目录的操作 dodo


    一、查看虚拟目录是否存在 
    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] 
    的值为虚拟目录对应的物理地址; 

    三、删除虚拟目录 
    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(); 

    如果是在B/S模式下的应用可能会遇到操作权限的问题,可根据不同的系统尝试一下方法!

    1,打开web.config,然后在system.web节点中添加一属性 <identity impersonate="true" />
    2,目录的EveryOne权限设为全部。

    3,把aspnet设置成 system 权限

  • 相关阅读:
    想用Nginx代理一切?行!
    [SuProxy]Ngnix+Lua 实现SSH2,LDAP,ORACLE,SQLSERVER等TCP/IP协议分析,劫持,代理,会话及负载
    hive分区表详细介绍
    hive 中自定义UDF函数和自定义UDTF函数
    yarn工作原理
    HDFS小文件问题
    HDFS读写流程
    利用 canvas 实现签名效果
    idea里面自带的翻译插件
    idea的set,get插件
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/1420588.html
Copyright © 2020-2023  润新知