Avatar billede dingemann Novice
18. marts 2007 - 23:48 Der er 1 løsning

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?
Avatar billede dingemann Novice
01. november 2007 - 13:46 #1
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester