zoukankan
html css js c++ java
对虚拟目录的操作(转)
一、查看虚拟目录是否存在
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
] 的值为虚拟目录对应的物理地址;
三、更新虚拟目录
public
void
Update(
string
virtualdirname)
{
//
判断需要更改的虚拟目录是否存在
if
(_IsExitesVirtualDir(virtualdirname))
{
DirectoryEntry _rootEntry ;
_rootEntry
=
new
DirectoryEntry(
"
IIS://localhost/W3SVC/1/root
"
);
DirectoryEntry ode
=
_rootEntry.Children.Find(virtualdirname,
"
IIsWebVirtualDir
"
);
UpdateDirInfo(ode);
}
}
private
void
UpdateDirInfo(DirectoryEntry de)
{
de.Properties[
"
AnonymousUserName
"
][
0
]
=
AnonymousUserName;
de.Properties[
"
AnonymousUserPass
"
][
0
]
=
AnonymousUserPass;
de.Properties[
"
AccessRead
"
][
0
]
=
boolen;
de.Properties[
"
AccessExecute
"
][
0
]
=
boolen;
de.Properties[
"
AccessWrite
"
][
0
]
=
boolen;
de.Properties[
"
AuthBasic
"
][
0
]
=
boolen;
de.Properties[
"
AuthNTLM
"
][
0
]
=
boolen;
de.Properties[
"
ContentIndexed
"
][
0
]
=
boolen;
de.Properties[
"
EnableDefaultDoc
"
][
0
]
=
boolen;
de.Properties[
"
EnableDirBrowsing
"
][
0
]
=
boolen;
de.Properties[
"
AccessSSL
"
][
0
]
=
boolen;
de.Properties[
"
AccessScript
"
][
0
]
=
boolen;
de.Properties[
"
DefaultDoc
"
][
0
]
=
DefaultDoc;
de.Properties[
"
Path
"
][
0
]
=
Path;
de.CommitChanges();
}
四、删除虚拟目录
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();
}
作者:
wpf之家
出处:
http://www.cnblogs.com/wpf123
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
查看全文
相关阅读:
jxl切割excel文件
Oracle 11g新增not null的字段比10g快--新特性
再按一次退出程序
项目进阶 之 集群环境搭建(一)概述
分布式搜索elasticsearch 环境搭建
WikiCFP--A Wiki for Calls For Papers
Java的结构之美【2】——销毁对象
Java的结构之美【1】——构造对象
Bottle 中文文档
我的算法学习之路
原文地址:https://www.cnblogs.com/wpf123/p/2347372.html
最新文章
poj3253 Fence Repair【哈夫曼树+优先队列】
【java】itoo项目实战之hibernate 批量保存优化
ActiveReports 报表应用教程 (3)---图表报表
php新版本号废弃 preg_replace /e 修饰符
redis中关于过期键的删除策略
csu1116 Kingdoms 最小生成树-枚举状态
泛型
反射Reflection
taskFactory
Lambda
热门文章
BackgroundWorker study
Async_Study
LogInfoHelper
AsyncCallback IAsyncResult
IAsyncResult
BackgroundWorker
linux脚本实现自己主动输入password
美丽的树形菜单,可折叠,有动画
在Mac OS X中下载Android源代码的一些经验
iBatis2 SqlMap中经常使用sql语句
Copyright © 2011-2022 走看看