一、查看虚拟目录是否存在 
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 权限

转载于:https://www.cnblogs.com/zgqys1980/archive/2009/03/24/1420588.html

.net对虚拟目录的操作相关推荐

  1. c# 操作服务器虚拟目录,C# 操作IIS服务器Demo

    原标题:C# 操作IIS服务器Demo using System; using System.Collections; using System.Collections.Generic; using ...

  2. 对虚拟目录的操作(转)

    一.查看虚拟目录是否存在  private bool IsExitesVirtualDir(string virtualdirname)  {     bool exited =false;      ...

  3. vbs脚本在服务器上虚拟按键,iisvdir.vbs iis虚拟目录管理脚本使用介绍

    IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的.我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscript c:\windows\syst ...

  4. xp创建虚拟服务器,Xp系统怎么创建虚拟目录?Xp系统创建虚拟目录的方法

    Xp系统怎么创建虚拟目录?xp系统是一款非常经典的windows系统,其一直深受着广大用户们的喜爱.虽然目前微软不在支持xp系统了但是使用还是有部分用户选择使用xp系统.下面小编就给大家带来Xp系统创 ...

  5. IIS7中的站点、应用程序和虚拟目录详细介绍

    这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录(virtual directory)概念与作用,已及这三个东西在IIS6与I ...

  6. Apache 下更改 DocumentRoot 和新建虚拟目录

    Apache 安装后,默认的 DocumentRoot 是安装目录下的 htdocs 目录,编程时有很多不便,如需更改,打开安装目录 conf 子目录下的 httpd.conf 文件,修改 Docum ...

  7. Asp.net网站的ClickOnce自动部署(2)-虚拟目录的配置

    第一步先讲虚拟目录的配置,虚拟目录的配置简单来说就是创建虚拟目录.用手工的方式实现非常简单,直接设定"Web sharing"就可以了,让我们看看怎么通过编程的方式实现,本文将介绍 ...

  8. windows server 2012 FTP 服务器 / 虚拟目录

    @time 2019-07-05 @author Ruo_Xiao 1.作用 虚拟目录就是将其他目录以映射的方式虚拟到该 FTP 服务器的主目录下.这样,一个 FTP 服务器的主目录实质上就可以包括很 ...

  9. WEB程序打包详解:(连接SQL2005数据库,修改配置文件,建立虚拟目录)

    做了一个web的打包程序,和大家分享一下. 第一步:新建--文件--项目,弹出对话框 如图,选择安装和部署--安装项目 这里要解释一下了,一般来说,制作web安装程序选择web安装项目,而我没有选择w ...

最新文章

  1. Chain of Responsibility 责任链模式 MD
  2. CSS3与动画有关的属性transition、animation、transform对比
  3. python详细安装教程3.7.4-python 3.7.4 安装 opencv的教程
  4. bash之流程控制for循环及bash命令退出和退出状态码
  5. linux下生成静态库和动态库
  6. android显示通知栏Notification以及自定义Notification的View
  7. pytorch torch.nn.MSELoss
  8. 前端开发面试题收集 JS
  9. python random函数_python随机模块random的22种函数(小结)
  10. js代码格式化java api_Javascript 代码格式化(JsFormat)
  11. kali rpm 安装方法_解决kali linux中无法使用RPM命令
  12. 向 AppStore iOS 苹果appstore 提交新版本app出现问题
  13. Shiro学习(22)集成验证码
  14. mysql怎么创建出生日期表_如何在MySQL中从出生日期开始生成数字序列
  15. wix图片导入设置_奇葩史的奇葩事 | [译]:WiX Toolset入门——内置的WixUI界面使用配置...
  16. 自然辩证法 专题4.5测试题
  17. 虚拟机VMware下安装RedHat Linux 9.0 图解
  18. geoserver使用手册
  19. 矢量图可无限放大而保持清晰的原理
  20. python requests 下载文件例子

热门文章

  1. PPRevealSideViewController
  2. SSH连接不成功的处理过程
  3. extjs获取当前时间
  4. IO多路复用 select、poll、epoll
  5. getExternalFilesDir到底是什么
  6. 更改SYS密码,expiry_date 过期时间 没有更新,普通用户更改密码会更新
  7. MacOs桌面自动被打乱的原因
  8. OpenGL 笔记1 固定管线实例 + 双缓存测试实例
  9. RANSAC与 最小二乘(LS, Least Squares)拟合直线的效果比较
  10. UWP 中的 LaunchUriAsync,使用默认浏览器或其他应用打开链接