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

.net C# 对虚拟目录IIS的操作的更多相关文章

  1. asp.net 创建虚拟目录 iis创建虚拟目录

    这几天本人接了个档案管理查询系统的小项目,踩过的坑. 其实功能都挺简单的,大致要求客户有很多pdf文档,为了方便管理,所有要开发一个相当于文件管理系统,本人正好有现成的文件管理系统,修改下就可以.其中 ...

  2. 用C#操作IIS创建虚拟目录和网站

    #region CreateWebsite 添加网站 public string CreateWebSite(string serverID, string serverComment, string ...

  3. IIS虚拟目录与UNC路径权限初探

    最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家. 问题描述 某客户定制化项目(官网),有一个图片上传的功能.客户的Web机器有10台,通过F5负载均衡分摊请求. 假设这10台机 ...

  4. 如何: 重命名在 IIS 6.0 中的虚拟目录

    警告如果错误地为编辑元数据库,您会导致严重的问题,甚至可能需要重新安装使用元数据库的任何产品. Microsoft 不能保证可以解决问题,如果您错误地编辑元数据库产生.编辑元数据库需要您自担风险. 注 ...

  5. Ajax 访问 或 获取 IIS 虚拟目录

    使用场景 最近用 .net core mvc 写了一个工具类的项目,作为我们项目的后台管理网站使用.第一次被老大拿去部署的时候被告知不可用,同样的代码在我电脑和我的iis上都可以使用的啊. 后来才知道 ...

  6. iis虚拟目录实现分布式文件服务器

    前提:假定有2台服务器:服务器a和服务器b,则服务器a和b须在同一局域网内 服务器设定:a为web服务器,b为文件服务器.这里服务器环境是:Windows Server 2008 R2 大致步骤如下: ...

  7. 利用iis虚拟目录实现文件服务器功能(分布式存储)

    要求说明: 通过网站上传文件保存到统一的文件服务器上. 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebServer ...

  8. 给 IIS Express 配置虚拟目录

    使用 vs2015 打开旧项目,之前使用 iis 配置站点,然后在 vs 中附加 w3wp.exe 进行开发和调试的. 由于种种原因 iis 上配置站点各种失败. 之后发现,其实在 vs2015 中按 ...

  9. 利用NTFS权限与虚拟目录,在IIS 6.0的默认FTP站点中做用户隔离。

    默认FTP站点为不隔离用户站点,利用NTFS权限设置,达到仅能访问指定目录效果. 是否允许匿名连接 FTP站点主目录:站点范围内有没有用户需要上传,有的话,要勾选“写入”:具体用户使用NTFS还给予写 ...

随机推荐

  1. Android 数据通信

    一. Http/Net1. http 通讯协议和android中相关API介绍 2.发送http请求实例[GET,POST]论坛参考文献:http://www.eoeandroid.com/viewt ...

  2. oracle导入导出小记

    问题:11.2.0.3.0 导入  11.2.0.2.0 都是oracle 11g ,从0.3.0到0.2.0 报错,以为是版本问题,结果不是 采用impdp 导入exp导出的文件会报错 所以改为im ...

  3. git的一些相关知识

    1.配置多个git远程仓库的ssh-Key切换(转自) 目前的git仓库如github都是通过使用SSH与客户端连接,如果只是固定使用单个git仓库的单个用户 (first),生成生成密钥对后,将公钥 ...

  4. 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明

    ====================================================================== [百度Web富文本编辑器ueditor在ASP.NET M ...

  5. 我爱免费之FreeFileSync文件夹同步软件

    因为项目需求用到FreeFileSync文件夹同步软件,这个软件好在免费.易用.功能强,我真的是大爱这种软件.http://freefilesync.com/ 可以下载免费软件,有需要的朋友,大可以一 ...

  6. C#导出EXCEL的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  7. Glide.centerCrop()第一次显示无效

    Glide.with(context)      .load(url)      .centerCrop()     /** fitCenter() */      .placeholder(R.mi ...

  8. winform C#获得Mac地址,IP地址,子网掩码,默认网关

    1.添加程序集 2.引入命名空间 using System.Management; 3.方法 ManagementClass mc = new ManagementClass("Win32_ ...

  9. swift 属性

    属性将值和类,结构,枚举相关联.属性分为计算属性和存储属性.存储属性存储常量或变量作为实例的一部分 ,计算属性计算一个值.存储属性用于类和结构体,计算属性用于类,结构体和枚举. 1:存储属性 存储属性 ...

  10. mysql int(1) 与 tinyint(1) 有什么区别?

    From: http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/25/2153016.html mysql int(1) tinyint ...