当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ADSI编程实现IIS中建立虚拟目录

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

ASP 中的 用ADSI编程实现IIS中建立虚拟目录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 185 ::
收藏到网摘: n/a

 

conn.asp不再贴出。
这里从数据库中读出目录名


<!--#include file="conn.asp"-->
<%
'response.end  '//这是做调试时用的
on error resume next
Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = MyConnection
Sql="select * from 你的表名 where 你指定的条件"
Rs.Open Sql,,1,2
If Rs.Eof Then Response.End '//如果无符合条件记录,则停止
Rs.MoveFirst
dim namestr    '//定义虚拟目录名变量
Do while not rs.eof
if instr(1,namestr,server.htmlencode(Trim(Rs("SUname"))))<>0 Then Rs.MoveNext
name=name&server.htmlencode(Trim(Rs("SUname")))
%>
<%
sComputer ="localhost"
sPhyDir = "X:\test\" & server.htmlencode(Trim(Rs("SUname")))   '//这里定义虚拟目录指向的物理路径
sVirDir = server.htmlencode(Trim(Rs("Suname"))) '//这里定义虚拟目录名
set websvc = GetObject("IIS://" & sComputer & "/W3svc/1") '//获得你当前站点对象。若有多个站点,那么改动后面1为2,3...即可指向其它的
set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root") '//获得当前站点虚拟ROOT
Set ClassDefinition = GetObject(vRoot.Schema)  '//获得虚拟目录的类定义
asMustHaves = ClassDefinition.MandatoryProperties
asMayHaves = ClassDefinition.OptionalProperties
i=1
%>
<table border=1>
<tr><th>Class Must Have Property</th>
<th>Root Virtual Directory Current value</th></tr>
<%
on error resume next

For Each Thing in asMustHaves
Response.Write "<tr><td>("& Cstr(i) & ") " &_
Thing & "</td><td>" & vRoot.Get(Thing) &_
"</td></tr>"
i = i + 1
Next
%>
</table>


<table border=1>
<tr><th>Class May Have Property</th>
<th>当前站点</th></tr>
<%
i=1
For Each Thing in asMayHaves
Response.Write "<tr><td>("& CStr(i) & ") " &_
Thing & "</td><td>" & vRoot.Get(Thing) &_
"</td></tr>"
i = i + 1
Next
on error goto 0

'//建立虚拟目录
Response.Write svirdir & "
"
Set vDir = vRoot.Create("IIsWebVirtualDir",sVirDir)

'//设置虚拟目录的两个属性,这里设置可读属性和将虚拟目录的路径指向物理路径
vDir.AccessRead = true
vDir.Path = sPhyDir
vDir.SetInfo '//将信息写入库,指的IIS站点相关的库,不是你的用户数据表
%>

<%
Rs.Movenext
Loop
Rs.Close
Response.Write "创建虚拟目录完成!"
%>

另外,还有利用adsi进行站点设置比如建站点,删除站点,配置站点IP,主机头,默认文档的等等,这里不做下载,有兴趣的朋友可以到微软站点下载 adsiSDK 的开发文档深入。