一、查看虚拟目录是否存在 
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. vim之插入

    进入vim插入模式,我们熟知的有: 字符位置插入: i      在光标之前插入 a     在光标之后追加 行位置插入: A  在一行的结尾处追加 I   在一行的开头处插入 o  在光标所在位置的 ...

  2. 移除http响应中的多余的头(X-AspNet-Version,Server等)

    网上搜索出很多方法了,这里记录一下: 如果是asp.net mvc的话还得在global.ascx中加入: 至于移除Server头,按网上的写法写httpmoudle后发现无效的,最后还是用了微软官方 ...

  3. spring之ControllerAdvice注解

    @ControllerAdvice是Spring 3.2新增的注解,主要是用来Controller的一些公共的需求的低侵入性增强提供辅助,作用于@RequestMapping标注的方法上. Contr ...

  4. CSS3学习笔记--transform中的Matrix(矩阵)

    transform: matrix(a,b,c,d,e,f) ,如下图矩阵所示,任意点(x,y,1)经过matrix变化为(ax+cy+e,bx+dy+f,1),由此可以知道,matrix参数与tra ...

  5. 记一次VNC远程连接Linux问题解决记录(5900端口测试、KDE桌面安装)

    最近几天,到一个项目上安装Linux部署环境.由于服务器在机房,而进机房又比较麻烦,于是选择VNC远程连接Linux就显得自然而然了.以前也用过VNC,而且还经常使用,由于各个项目环境不太一样,这次也 ...

  6. 『WPF』实现拖动文件到窗体(控件)

    前言 实现从窗口外部拖文件到窗口内部并自动捕获文件地址. 第一步 开启属性 启用底层Window的AllowDrop属性,添加Drop事件. Drop事件:当你拖动文件到对应控件后,松开触发. 除Dr ...

  7. 用gameMaker做个小游戏

    看下面这个课程链接,半小时学会 http://study.163.com/course/courseMain.htm?courseId=352004#/courseMain 这是我做的:http:// ...

  8. Win7下使用Telnet命令

    在调试网络端口是否通畅的时候会经常使用到telnet命令,但是在Windows7系统下这个命令默认是不开启的. 开启Telnet命令的方法: 1.在开始程序里,打开控制面板. 2.在控制面板里,点击“ ...

  9. laravel 5.3 学习之路——路由(资源,别名)

    laravel的路由定义中,其中route:resoure(),可以直接定义类似restful风格的URL 例如:Route::resource('system/role','System\RoleC ...

  10. Python Shell 解释器下使用Django Model

    sys.path.append('E:/Projects/DjangoProjects/myFirstSite') os.environ.setdefault('DJANGO_SETTINGS_MOD ...