Sco*_*ott 11
Subash,
正如slugster 在这里所说,这个页面有您需要的所有内容:http://forums.iis.net/t/1139885.aspx
但是,如果您正在寻找代码段,请查看以下内容:
您可以使用以下批处理文件执行此操作:
%systemroot%\system32\inetsrv\APPCMD add site /name:MyNewSite /bindings:"http/*:81:" /physicalPath:"C:\MyNewSite"
%systemroot%\system32\inetsrv\APPCMD set config "MyNewSite" /section:defaultDocument /enabled:true /+files.[value='home.html']
Run Code Online (Sandbox Code Playgroud)
对于上面的代码段,请确保该目录存在,并且web.config是格式正确的xml文档.
然后可以通过调用以下命令将其转换为vb.net或c#中的命令控制台应用程序:
Module Module1
Sub Main()
Dim proc As Process = New Process()
proc.StartInfo.FileName = "C:\Windows\system32\inetsrv\APPCMD"
proc.StartInfo.Arguments = "add site /name:MyNewSite /bindings:""http/*:81:"" /physicalPath:""C:\MyNewSite"""
proc.Start()
proc.WaitForExit()
proc.StartInfo.Arguments = "set config ""MyNewSite"" /section:defaultDocument /enabled:true /+files.[value='home.html']"
proc.Start()
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
我希望这个hlep,
编辑:我发现你可以直接使用API而不是执行外部exes.
此外,请注意,在IIS6上安装虚拟目录与IIS7相比,使用API时会有所不同.首先使用IIS6进行安装,您需要执行以下操作:
Imports System.DirectoryServices
Module Module1
Sub Main()
Dim deIIS As DirectoryEntry = New DirectoryEntry("IIS://" & Environment.MachineName & "/W3SVC/1/Root")
Dim deNewVDir As DirectoryEntry = deIIS.Children.Add("MyNewSite", deIIS.SchemaClassName.ToString)
deNewVDir.CommitChanges()
deIIS.CommitChanges()
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
但是为了在IIS7中执行此操作,您需要执行此操作(请注意Microsoft.Web.Administration来自C:\ Windows\System32\inetsrv\Microsoft.Web.Administration.dll):
Imports Microsoft.Web.Administration
Module Module1
Sub Main()
Dim iisManager As New ServerManager
Dim site As Site = iisManager.Sites.Add("MyNewSite", "http", "*:8080:", "C:\MyNewSite")
Dim app As Microsoft.Web.Administration.Application = site.Applications.Add("/MyApp", "C:\MyNewSite")
app.VirtualDirectories.Add("/VDir", "C:\MyNewSite")
iisManager.CommitChanges()
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
我希望这更有帮助,