• .net C# 对虚拟目录IIS的操作


    一、查看虚拟目录是否存在 
    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 + @"virtualdirentryvirtualname"; 
       _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 权限

  • 相关阅读:
    区别TPS QPS HPS RPS PV UV
    C/C++常用库及工具
    CentOS常用命令备忘
    PHP的学习--Traits新特性
    CentOS7创建本地YUM源的三种方法
    CentOS下iptables详解
    Linux备份压缩命令
    Nginx HTTPS功能部署实践
    Fuel 30 分钟快速安装OpenStack
    hadoop学习通过虚拟机安装hadoop完全分布式集群
  • 原文地址:https://www.cnblogs.com/yplong/p/3731104.html
Copyright © 2020-2023  润新知