Dov'è la chiave di metabase per il mio sito Web IIS7?
-
17-09-2020 - |
Domanda
Sto cercando di configurare l'installazione automatizzata (notte) del mio progetto di configurazione del sito Web.Posso specificare alcuni valori di installazione-tempo sulla riga di comando;In particolare, l'aggiunta di un valore TARGETSITE
definisce il sito Web a cui verrà il mio nuovo implementazione.
Come trovo la chiave di metabase sul mio sito Web (ad esempio "/ LM / W3SVC / 213548468") in un'installazione IIS7?(Ho la compatibilità IIS6 tutti configurati, ma non riesco a trovare nulla del mio sito nel file metabase.xml .)
Inoltre, poiché i progetti di configurazione della distribuzione del web sono ovviamente meccanismi obsoleti (immagino che fossero troppo facili da usare?), Qualcuno ha un'idea migliore per le mie distribuzioni automatizzate notturne?
Soluzione
In IIS 7 e sopra non utilizziamo più la metabase e invece spostata in un modello ".config" in cui memorizziamo tutte le impostazioni all'interno "% windir% \ system32 \ inetsrv \ config \ applicationhost.config", cioè Dove troverai tutte le informazioni e le impostazioni che si applicano. Se abiliti la compatibilità IIS 6, eseguiremo tutti i comandi traducendoli direttamente nel nuovo applicationhost.config.
Sarebbe utile saperne di più su come lo stai facendo oggi, se usi il codice gestito probabilmente la soluzione migliore utilizza Microsoft.Web.Administration ( http://blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx ) che include una classe chiamata ServerManager per consentire di impostare tutto ciò di cui hai bisogno.
Se usi PowerShell abbiamo anche un provider PowerShell ( http://www.iis.net/ Scarica / PowerShell ) Fornisce quale dovrebbe essere il migliore in tal caso.
Inoltre, se si desidera effettivamente imballarsi i contenuti e la configurazione e altre cose come le impostazioni del registro, gli oggetti COM, DLL GAC, ecc., È necessario utilizzare Web Deploy ( http://www.iis.net/download/webdeploy )
Altri suggerimenti
Non so nulla di metabase, ma dai tuoi post sono stato in grado di ciottore insieme quanto segue:
import-module WebAdministration
$site = get-website | Where-object {$_.Name -eq "SiteName"}
$id=$site.ID
setup.msi /passive TARGETAPPPOOL=`"ASP.NET v4.0`" TARGETSITE="/LM/W3SVC/"$id
.
I segni del backtick sono i caratteri di fuga per PowerShell.