´Get Default Web Site Object
set websvc = GetObject("IIS://" & sComputer & "/W3svc/1")
´Verify by printing out ServerComment
Response.Write "Comment = " & websvc.ServerComment & "〈br>"
´Get root of Default Web Site
set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root")
´Get Class Definition of virtual directory
Set ClassDefinition = GetObject(vRoot.Schema)
´Get list of mandatory properties
asMustHaves = ClassDefinition.MandatoryProperties
´Get list of optional properties
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>
〈br>
〈table border=1>
〈tr>〈th>Class May Have Property〈/th>
〈th>Default Web Site Current Value〈/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
´Create Virtual Directory
´Param 1 is class name
´Param 2 is the new object name
Set vDir = vRoot.Create("IIsWebVirtualDir",sVirDir)
´Only setting two properties
vDir.AccessRead = true
vDir.Path = sPhyDir
´Write information back to Metabase
vDir.SetInfo
%>
在这个例子中,为了建立一个对象的实例,父对象被用到了。建立对像的实例用的是对象的class
名称。而这个对象没有强制的属性,一些对象有强制的属性。如果你没有设置这些必要的属性,当
你使用object.setinfo时就会出错。
为了检验这个虚拟目录是否已经建立了,你可以打开IIS看一下。另一个方法是再运行一遍程序,
如果上次已经建立了,你这次就会得到错误结果。(推荐前一种,SUNWEN)
别一个ADSI的特征是在OBJECT。SETINFO被运行之前,所有的属性设置都不会生效。这使你的站点
不会受一些非正规的影响(如果一个人正在请求这个站点的话,就会出现错误)。这比一个关系型
的数据库更加简单。ADSI会自动完成所有相关的数据的设置,你就可以不用使用N次的INSERT语句
(嘻嘻,老外和SUNWEN一样幽默!)。更新也一样。你只需一次则可。
加入一个默认的文档
在这个例子中,我们将把"index.htm"这个文件加入到默认文档的列表中。为了实现这一目标,我
们要从数据源中得到这个虚拟目录,改变与默认文档相关的属性,然后把信息写回去。
Example 6
〈%
sComputer ="localhost"
sPhyDir = "c:dinaadsi"
sVirDir = "ADSITest"
´Get Default Web Site Object
set websvc = GetObject("IIS://" & sComputer & "/W3svc/1")
´Verify by printing out ServerComment
Response.Write "Comment = " & we