一、查看虚拟目录是否存在 
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. Java将mysql输出csv,如何从Java中的Access数据库导出表并将其保存到.csv
  2. 用系统滚动条实现NumericUpDown的原理
  3. 并发集合和普通集合以及安全集合的区别
  4. 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
  5. css高清动图,CSS3+PNG实现GIF动画效果
  6. select, poll, epoll
  7. 李迟2022年1月知识总结
  8. php coder pro 调试,为PHP开发者准备的12个调试工具,php开发者调试工具_PHP教程
  9. python 累加m到n的所有素数的和_c#实现:返回n到m之间的所有素数
  10. font-awesome在Vue项目中的使用(npm使用)
  11. 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
  12. 红linux系统,红帽linux系统官方下载-红帽linux系统32位v9.0 完整版 - 极光下载站
  13. ubuntu如何更改IP地址
  14. Facecat的iOS自学笔记
  15. 熄灯问题POJ1222的一些思考
  16. 【微服务】166:导入数据到索引库
  17. Spring :singleton和protype区别
  18. redis安装与部署
  19. ubuntu20.04安装PX4固件错误总结
  20. 一款视频剪辑软件--爱剪辑

热门文章

  1. Unable to execute dex: Multiple dex files define Lcom
  2. ImageView、Bitmap的属性android:scaleType
  3. WinLaucher启动
  4. VBS中MSGBOX用法
  5. cmd连接mysql连接:mysql-h主机地址-u用户名-p用户密码(注:u与root可以不用加)
  6. Preference跳转activity出错Unable to find explicit activity class
  7. 实验二 网络嗅探与欺骗
  8. 只需几分钟跟小猫学前端(内含视频教程):nodejs基础之用express、ejs、mongdb建设简单的网站...
  9. webpack 配置
  10. 关于Socket建立长连接遇到的bug信息