IIsWebService.CreateNewSite (WMI)

CreateNewSite 方法在 IIS 6.0 服务器上创建一个新的网站。CreateNewSite 的工作方式如下所示:
语法
return_value = object.CreateNewSite
(
String ServerComment,
ServerBinding ServerBindings[],
String PathOfRootVirtualDir,
[SINT32 ServerId]
)
参数

ServerComment
[in] 包含了表示新网站的 ServerComment 的字符串。在 IIS 管理器中,这将属于网站属性表单中的“网站标识”下的“描述”字段。

ServerBindings[]
[in] 包含了 ServerBinding 类的实例数组,该类指定了您希望在此站点上建立的服务器绑定。每个 ServerBinding 实例至少包含主机名称、端口和 IP 地址中的一项。

PathOfRootVirtualDir
[in] 包含一个字符串,用来代表要将网站映射到的物理目录的完全限定的路径。

ServerId
[in,optional] 包含想要该方法使用的站点标识号的可选字符串参数。如果此参数为空,则使用哈希函数来创建站点标识号。请参阅上面的信息。

注释

IIS 配置数据库中,使用服务类型和唯一的站点标识号来表示网站。例如,在新安装的 IIS 上,“默认网站”在 ADSI 中表示为 w3svc/1

在 IIS 5.1 和更早版本中,每创建一个新站点,站点标识号就会增加 1。例如,如果创建的被称作 CohoWinery 的 网站成为了 w3svc/3,则下一个创建的站点将变成 w3svc/4

CreateNewSite 允许您指定要使用的站点标识号。如果没有指定站点标识号,则该方法在传递给此方法的 ServerComment 上执行哈希函数,并创建一个新的号码。如果多个站点具有相同的 ServerComment,哈希函数就会检测到冲突,并选择下一个可用的站点标识号。例如,使用以下代码行创建一个站点:

myNewSiteID = IIsWebServiceObj.CreateNewSite("MyNewSite", Bindings, "C:\Inetpub\Wwwroot")

如果服务器上已经有一个称作 MyNewSite 且站点标识号是 5555 的 网站,则 CreateNewSite 将返回一个站点标识号为 5556 的网站(若 5556 未被使用)。

如果在多个 IIS 6.0 服务器上使用 IIS 管理器CreateNewSite 方法创建副本站点,则在每个服务器上的副本站点的站点标识号很可能会相同。这些服务器可以包含在 Microsoft 应用程序中心 Web 场中,而不会出现问题。

代码示例
' 建立到 WMI、MyMachine 上的 IIS 名称空间以及 WWW 服务的连接。
set locatorObj = CreateObject("Wbemscripting.SWbemLocator")
set providerObj = locatorObj.ConnectServer("MyMachine", "root/MicrosoftIISv2")
set serviceObj = providerObj.Get("IIsWebService='W3SVC'")
' 创建绑定对象,它是 CreateNewSite 方法所需的参数。
' 由于要创建对象的新实例,因此使用 SpawnInstance WMI 方法。
Bindings = Array(0)
Set Bindings(0) = providerObj.get("ServerBinding").SpawnInstance_()
Bindings(0).IP = ""
Bindings(0).Port = "8383"
Bindings(0).Hostname = ""
' 使用 IIsWebService 对象的 CreateNewSite 方法创建新的网站。
Dim strSiteObjPath
strSiteObjPath = serviceObj.CreateNewSite("MyNewSite", Bindings, "C:\Inetpub\Wwwroot")

更加完整的示例,请参阅 IIS WMI 提供程序教程模块 3,第 3 课

相关主题

© 1997-2003 Microsoft Corporation。保留所有权利