2010-08-12 75 views
0

J'ai un code vbscript que j'utilise pour définir les chemins d'accès aux répertoires virtuels lorsqu'un développeur change son environnement pour travailler sur un autre projet. Actuellement, nous essayons de définir le chemin, et s'il y a une erreur, nous le créons. Ça sent juste drôle. Existe-t-il un moyen de vérifier si un répertoire virtuel existe? Et sinon, le créer?Existe-t-il un meilleur moyen de vérifier le répertoire virtuel et si non, le créer?

set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1/ROOT/SomeWeb") 
objIIS.Path = strNewPath & "\SomeWeb" 
objIIS.SetInfo 

If Err.Number = NOT_FOUND Then 
    sVirtPath = strNewPath & "\SomeWeb" 
CreateVirtualDirectory "SomeWeb", sVirtPath, true 
Err.Clear 
End If 

Cela fonctionne très bien, mais quelque chose me dit, il doit y avoir une meilleure façon. Est-ce que quelqu'un a des suggestions? Comment vérifier l'existence d'un répertoire virtuel? Tout commentaire est apprécié.

Merci pour les pointeurs.
Cheers,
~ ck à San Diego

+0

Je ne vois pas ce qui ne va pas. –

Répondre

0

Votre approche semble bien. Voici une approche légèrement différente que j'ai faite il y a des années lorsque je travaillais avec IIS 5.0. Je ne suis pas sûr si cela fonctionnerait encore sous les versions ultérieures d'IIS, mais vous pouvez le trouver utile.

Function IsExistingWebApp(strAppPath) 
    Dim oWeb 

    On Error Resume Next 

    ' Assume it does not exist 
    IsExistingWebApp = False 

    Set oWeb = GetObject(strAppPath) 
    If (Err <> 0) Then 
     ' If an error occurs then we know the application does not exist 
     'LogMessage strAppPath & " does not exist as an application." 

     Err = 0 
     Exit Function 
    Else 
     If oWeb.Class = "IIsWebVirtualDir" Then 
     'LogMessage "Found existing web application " & oWeb.AdsPath 
     ' If it does exist and it is configured as a 
     ' virtual directory then rerturn true 
     IsExistingWebApp = True 
     End If  
    End If 
End Function