24. november 2005 - 11:20Der er
13 kommentarer og 1 løsning
Ændre værdi på property i IIS meta base
Jeg har længe ønsket mig en hurtig måde at skifte sin IIS wwwroot path, for at gøre det let at arbejde med flere projekter. Har ikke kunne finde nogen løsning ved mine søgninger her og på Google, men har dog fundet frem til en spændende ActiveX komponent der ligger i Windows, nemlig "MetaUtil".
Følgende kodeeksempel kræver en reference til MetaUtil (fundet i Windows/System32), og kan udskrive din nuværende wwwroot path til konsollen.
using System; using System.Collections.Generic; using System.Text; using MetaUtil;
namespace ChangeIISRoot { class Program { static void Main(string[] args) { MetaUtilClass metaBase = new MetaUtilClass(); IProperty pathProperty = metaBase.GetProperty("/LM/W3SVC/1/ROOT", 3001);
Hvordan jeg ændrer værdien kan jeg til gengæld ikke finde ud af. Jeg har anelser om at man skal bruge "set_Config()" metoden, men jeg kan ikke finde ud af hvilke parametre den skal tage.
Nogen der har erfaring her, eller blot har lyst til at forsøge at knække gåden? :)
Hvorfor ændre det? Kan du ikke bare oprette nogle subdomains eller have flere mapper på din server? Når du skriver på den her måde lyder det som om du koder i 2003, right?
2005 har jo indbygget http server... meget smart :-)
buzzzz>> nej, man kan ikke køre mere end et website på en IIS der kører på en workstation.
Ang. undermapper, så giver det en træls begrænsning omkring brugen af / i sine href's og src's i html, da browseren ikke vil se / som starten af undermappen, men som starten af hele domænet.
Har selv døjet en del med det. Ændte med at lave et program der kopierede alle filer ud af www-roden, og lagde nogle andre ind i stedet. Det virkede sådan set fint nok. Ellers kan jeg anbefale at udvikle på en windows 2003'er.
burningice > Det var selvfølgelig også en mulighed at simpelthen at flytte rundt på mapperne i filsystemet. Fx kunne man have alle sine projekter i én og samme mappe, og så bruge et lille tool til at skifte mellem dem (ved at rename mapper).
Dog ville jeg hellere have det skitserede med MetaUtil til at virke - det er jo så tæt på :) Jeg kan godt få den til at oprette nye elementer i metabasen, men bare ikke lure hvordan jeg kan ændre de eksisterende...
så du vil istedet bruge x antal ../ for at komme tilbage til roden? hmm, lyder interessant, især hvis du måske er i en fil på det 5 led, eller i en UserControl som kan blive brugt på forskellige niveauer.
man kan selvfølgelig, som du også fint skitserer, indsætte "hvad ens projekt-navn måtte være" foran alle sine links, men gør du ærlig talt det ved f.eks. alle din img's?
Jeg tillader mig at kalde mine points tilbage her. I skal have tak for de spændende pointer, men der er ingen af kommentarerne der leder mod svar på mit oprindelige spørgsmål om MetaUtil.
Synes godt om
Ny brugerNybegynder
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.