.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的操作的更多相关文章
- asp.net 创建虚拟目录 iis创建虚拟目录
这几天本人接了个档案管理查询系统的小项目,踩过的坑. 其实功能都挺简单的,大致要求客户有很多pdf文档,为了方便管理,所有要开发一个相当于文件管理系统,本人正好有现成的文件管理系统,修改下就可以.其中 ...
- 用C#操作IIS创建虚拟目录和网站
#region CreateWebsite 添加网站 public string CreateWebSite(string serverID, string serverComment, string ...
- IIS虚拟目录与UNC路径权限初探
最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家. 问题描述 某客户定制化项目(官网),有一个图片上传的功能.客户的Web机器有10台,通过F5负载均衡分摊请求. 假设这10台机 ...
- 如何: 重命名在 IIS 6.0 中的虚拟目录
警告如果错误地为编辑元数据库,您会导致严重的问题,甚至可能需要重新安装使用元数据库的任何产品. Microsoft 不能保证可以解决问题,如果您错误地编辑元数据库产生.编辑元数据库需要您自担风险. 注 ...
- Ajax 访问 或 获取 IIS 虚拟目录
使用场景 最近用 .net core mvc 写了一个工具类的项目,作为我们项目的后台管理网站使用.第一次被老大拿去部署的时候被告知不可用,同样的代码在我电脑和我的iis上都可以使用的啊. 后来才知道 ...
- iis虚拟目录实现分布式文件服务器
前提:假定有2台服务器:服务器a和服务器b,则服务器a和b须在同一局域网内 服务器设定:a为web服务器,b为文件服务器.这里服务器环境是:Windows Server 2008 R2 大致步骤如下: ...
- 利用iis虚拟目录实现文件服务器功能(分布式存储)
要求说明: 通过网站上传文件保存到统一的文件服务器上. 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebServer ...
- 给 IIS Express 配置虚拟目录
使用 vs2015 打开旧项目,之前使用 iis 配置站点,然后在 vs 中附加 w3wp.exe 进行开发和调试的. 由于种种原因 iis 上配置站点各种失败. 之后发现,其实在 vs2015 中按 ...
- 利用NTFS权限与虚拟目录,在IIS 6.0的默认FTP站点中做用户隔离。
默认FTP站点为不隔离用户站点,利用NTFS权限设置,达到仅能访问指定目录效果. 是否允许匿名连接 FTP站点主目录:站点范围内有没有用户需要上传,有的话,要勾选“写入”:具体用户使用NTFS还给予写 ...
随机推荐
- 在gradle 中使用ant 执行 “命令行”(CMD)不出日志解决方案
因为gradle 好恶心,声明的任务,一定会事先运行一次,而任务追加的话就不会 例如: task hello(){ println "HelloWorld" } task hell ...
- Oracle 11g RAC环境下Private IP修改方法及异常处理
Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...
- oracle中查询某张表都被哪些表参照了
起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中 ...
- 【书单】book list
正在看: [泡沫经济学].(日)野口悠纪雄 数学模型--姜启源 R in action Programming with R Scrapy Parallel R 准备看: Advanced.A ...
- js 判断微信浏览器
上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打 ...
- A little problem for pt-pmp
https://bugs.launchpad.net/percona-toolkit/+bug/1320168 We use the pt-pmp (a variety for pmp !http:/ ...
- python-根据左右值获取城市区域编码
def get_adcode(city): """ 根据城市获取区域编码 :param city: :return: """ db = db ...
- AD10长方形通孔焊盘的画法
1.点击工具栏中[放置焊盘]按钮 2.按键盘Tab键弹出[焊盘]对话框 3.设置[空洞信息]相关尺寸(根据自己所需实际设置) 这里左边的单选按钮选择“槽”,通孔尺寸输入20mil,长度为80mil,旋 ...
- 有了malloc/free为什么还要new/delete ?
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存. 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的 ...
- Oracle数据库入门——常用的数据字典
一.oracle数据字典主要由以下几种视图构成:1.user视图以user_为前缀,用来记录用户对象的信息 2.all视图以all_为前缀,用来记录用户对象的信息及被授权访问的对象信息 3.dba视图 ...