2.0 > Programmering til IIS'en
hey der. Jeg sidder i et firma hvor vi opretter CMS-sites til folk og her i blandt Umbraco som løsning. Umbraco(.org) fungere simpelt ved at pakke en zip-fil ud - smide indholdet i en mappe og så sætte nogle persmissions, rette lidt til i web.config (database-connections) og så hoppe i inetmgr og (som vi så gør) så koble det på som et Virtual Directory... det fungere fint. Men det er bare et hestearbejde at skulle lægge skabelonen ud hver gang og denne proces kan sagtens automatiseres via lidt programmering, og jeg har selvfølgelig fundet noget kode til formålet inden fra MSDN:'''''''''''''''''''''''''''''''''
' ADSI ASP Sample Program
' This is a sample of how to create a virtual directory using ADSI.
'
'''''''''''''''''''''''''''''''''
'''''''''''''''''''''''
' First, open the path to the Web server you are
' trying to add a virtual directory to.
Dim ServObj
Dim VdirObj
Dim Testpath
ServObj = GetObject("IIS://LocalHost/w3svc/1/Root")
If (Err.Number() <> 0) Then
MsgBox("GetObject (""IIS://LocalHost/w3svc/1/Root"") Failed! <br>")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
'''''''''''''''''''''''
' Second, Create the virtual directory (Vdir) path
VdirObj = ServObj.Create("IIsWebVirtualDir", "MyVdir")
VdirObj.SetInfo()
If (Err.Number() <> 0) Then
MsgBox("CreateObject (""IIS://LocalHost/w3svc/1/Root/MyVdir"") Failed!<br>")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
''''''''''''''''''''''''
' Finally, create a Path variable containing the virtual root path and
' set the permissions to read, script, and directory browsing
VdirObj.AccessRead = True
VdirObj.AccessScript = True
VdirObj.EnableDirBrowsing = True
Testpath = "C:\Temp"
VdirObj.Put("Path", (Testpath))
VdirObj.SetInfo()
If (Err.Number() <> 0) Then
MsgBox("Put (""Path"") Failed!")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
MsgBox("VDIR successfully created")
''''''''''''''''''''''''
' The minimum amount necessary to create a virtual directory has now
' been completed. If you need to add more, do it here.
-----
Mit problem er så bare nu at det sted i koden hvor VD'et bliver oprettet der oprettes VD'et på default web site - altså det der standard hedder port 80.
Men da vi til formålet, for det er kun en legeplads det her med umbraco (når projektet er færdigt så extracter vi databasen og smider den op på det endelige site), så kører legepladsen fra et nyt website der så kører port 82 istedet for 80 hvor diverse Virtual Directories så hører under...
Og det er så her mit problem er - hvordan fortæller jeg koden at den skal oprette VD'et i det web site der kører på port 82 istedet for default?
Det ville kodemæssigt se ud som hvis:
ServObj = GetObject("IIS://LocalHost/w3svc/1/Root")
If (Err.Number() <> 0) Then
MsgBox("GetObject (""IIS://LocalHost/w3svc/1/Root"") Failed! <br>")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
'''''''''''''''''''''''
' Second, Create the virtual directory (Vdir) path
VdirObj = ServObj.Create("IIsWebVirtualDir", "MyVdir")
VdirObj.SetInfo()
If (Err.Number() <> 0) Then
MsgBox("CreateObject (""IIS://LocalHost/w3svc/1/Root/MyVdir"") Failed!<br>")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
..... blev til:
ServObj = GetObject("IIS://LocalHost:82/w3svc/1/Root")
If (Err.Number() <> 0) Then
MsgBox("GetObject (""IIS://LocalHost:82/w3svc/1/Root"") Failed! <br>")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
'''''''''''''''''''''''
' Second, Create the virtual directory (Vdir) path
VdirObj = ServObj.Create("IIsWebVirtualDir", "MyVdir")
VdirObj.SetInfo()
If (Err.Number() <> 0) Then
MsgBox("CreateObject (""IIS://LocalHost:82/w3svc/1/Root/MyVdir"") Failed!<br>")
MsgBox("Error! " & Err.Number & "(" & Hex(Err.Number) & "): " & Err.Description & "<br>")
End If
... men jeg får selvfølgelig en fejl når jeg eksekverer koden... Nogen der åbentlyst kan se min fejl?