.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 +
@"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的操作,布布扣,bubuko.com

时间: 2024-12-17 20:00:51

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

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

这几天本人接了个档案管理查询系统的小项目,踩过的坑. 其实功能都挺简单的,大致要求客户有很多pdf文档,为了方便管理,所有要开发一个相当于文件管理系统,本人正好有现成的文件管理系统,修改下就可以.其中客户要求pdf需要放到其他的盘符,不能和应用程序在一起,这个解决起来非常方便.系统上线了后,因为客户的pdf是分目录放的,如果上百个虚拟目录是手动创建的话,就有点繁琐.因此需要代码实现.记录如下: /// <summary> /// 创建虚拟目录 /// </summary> ///

IIS下 多站点 利用虚拟目录 访问共用(图片)文件夹

预期目的:站点A 和 站点B 共用同一个图片文件夹C 实现方式是: 在站点下添加虚拟目录 使虚拟目录指向共用文件夹 站点下的页面 使用图片的访问方式示意:<image src="C/1.png" />其中 C为虚拟目录 IIS的站点布局示意: --网站----Default Web Site------应用程序A http://localhost/A/index.html--------虚拟目录C 指向D:\www\C------应用程序B http://localhost

修复 Exchange2010 对应 的IIS虚拟目录

一台正常的Exchange2010 CAS角色的IIS里,应该如下图所示包含一些功能性的虚拟目录. 其中需要注意的,是它们的.NetFrameWork版本,与所属的AppPool 那么如果需要对Exchange2010进行二次开发,在特定的需求下,需要安装.NetFramework4.0:也就是本人这次碰上的场景.可能大家会觉得4.0应该是兼容2.0,按说不会有什么大问题. 可是微软偏偏就有这样一个bug,在安装完4.0之后,所有的AppPool会被自动切换到4.0版本,然后你会发现--你的ow

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

最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家. 问题描述 某客户定制化项目(官网),有一个图片上传的功能.客户的Web机器有10台,通过F5负载均衡分摊请求. 假设这10台机器的代号分别为:#1,#2,#3,#4,#5,#6,#7,#8,#9,#10 在没有应用虚拟目录时,访问者A访问官网,可能被分配至机器#1,上传图片,图片被保存在机器#1中: 再次查看时,访问者A可能被F5分配至机器#2,机器#2中没有这张图片,图片无法显示 --> 页面故障. 解决方案 服务器环境

在Win7中IIS配置Asp.Net虚拟目录的方法及错误总结!

在Win7中IIS配置Asp.Net虚拟目录的方法总结! 一.右键[网站],点击[添加虚拟目录]或[虚拟应用程序],笔者建议最好建立虚拟应用程序,因为这就跟一个网站差不多,不用考虑路径问题. 二.直接输入相应内容选择路径就行了,如果要指定[应用程序池],需要先建立一个新的[应用程序池],配置与网站差不多了. 三.运行后,如果出现以下错误:HTTP 错误 500.19 一般是web.config配置问题,很简单,找到以下内容 <system.webServer> <defaultDocum

IIs 网站应用程序与虚拟目录的区别及高级应用说明(文件分布式存储方案)[转]

IIs 网站应用程序与虚拟目录的区别及高级应用说明(文件分布式存储方案) 对于IIS网站,大伙用的比较多,就不啰嗦了.   今天和说说大伙比较少使用的"IIS应用程序”和虚拟目录的区别及高级应用场景,文件分布式存储方案. 1:IIS网站: 一个网站,基本就是一个站点,绑定N个域名,绑定N个IP,然后设定一个应用程序池,基本就跑起来了,一个网站可以新建无数个应用程序和虚拟目录. 一行就带过了,大伙都懂,不多说. 2:应用程序(同一域名下程序的独立开发,独立部署的最佳应用策略): 我们发现,IIS网

IIS虚拟目录实现与文件服务器网络驱动器映射共享

这篇文章转载别人,想原创作者致敬! 我本人也遇到同样的问题,故转载记录. 本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本. 通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题.如何让A服务器的站点,访问B服务器内的资源(如:音乐.视频等). 当然,我们可以使用 http 协议来实现.在B服务器内建立一个资源站点,然后A服务器的站点直接通过http方式请求B服务器内的资源站点来获得资源,有时候这样做不是我们想要的

iis express添加虚拟目录

在调试WEB时,还是使用IIS EXPRESS比较方便, 在IIS中,选择网站,右击,添加虚拟目录或者应用程序,就能添加虚拟目录了.. 在IIS EXPRESS中,添加虚拟目录如下 1.右击IIS E 的图标,点击显示所有应用程序 2.选择那个要加虚拟目录的测试网站,点击配置 3.会在VS中打开这个文件applicationhost.config 找到site节,这个节下有很多网站,根据名字找到要配置的那个,增加下图中红框所示的节,修改剪头所指的关键属性 即虚拟目录的名字,虚拟目录的物理地址 4

IIS站点/虚拟目录中访问共享目录(UNC)以及建立后的应用程序的信任级别问题

UNC是 Universal Naming Convention 的简称,也叫通用命名规范.通用命名约定.网络(范指局域网)上资源的完整位置名称.格式为 \\servername\sharename ,其中 servername 是服务器名,sharename 是共享资源的名称.目录或文件的 UNC 名称可以包括共享名称下的目录路径,如:\\servername\sharename\directory\filename亦可作为 \\serverip\sharename 格式,其中 serveri