Comment : configurer IIS 5.0 et IIS 6.0 pour déployer des applications WPF
Mise à jour : novembre 2007
Vous pouvez déployer une application Windows Presentation Foundation (WPF) à partir de la plupart des serveurs Web, tant qu'ils sont configurés avec les types MIME (Multipurpose Internet Mail Extensions) appropriés. Par défaut, Microsoft Internet Information Services (IIS) 7.0 est configuré avec ces types MIME, mais Microsoft Internet Information Services (IIS) 5.0 et Microsoft Internet Information Services (IIS) 6.0 ne le sont pas.
Cette rubrique décrit comment configurer Microsoft Internet Information Services (IIS) 5.0 et Microsoft Internet Information Services (IIS) 6.0 pour déployer des applications WPF.
Cette rubrique comprend les sections suivantes.
- Ajuster le paramètre de l'expiration du contenu
- Enregistrer des types MIME et des extensions de fichier
Remarque : |
---|
Vous pouvez vérifier la présence de la chaîne UserAgent dans le Registre afin de déterminer si .NET Framework est installé sur le système. Pour plus de détails et pour obtenir un script qui examine la chaîne UserAgent afin de déterminer si .NET Framework est installé sur un système, consultez Comment : détecter si .NET Framework 3.0 est installé. |
Ajuster le paramètre de l'expiration du contenu
Vous devez ajuster le paramètre de l'expiration du contenu à 1 minute. La procédure ci-après montre comment effectuer cette opération avec IIS.
Cliquez sur le menu Démarrer, pointez sur Outils d'administration, puis cliquez sur Gestionnaire des services Internet (IIS). Vous pouvez également lancer cette application à partir de la ligne de commande en indiquant « %SystemRoot%\system32\inetsrv\iis.msc ».
Développez l'arborescence IIS jusqu'à ce que vous trouviez le nœud Site Web par défaut.
Cliquez avec le bouton droit sur Site Web par défaut et sélectionnez Propriétés dans le menu contextuel.
Sélectionnez l'onglet En-têtes HTTP et cliquez sur « Activer l'expiration de contenu ».
Paramétrez l'option pour que le contenu expire après 1 minute.
Enregistrer des types MIME et des extensions de fichier
Vous devez enregistrer plusieurs types MIME et extensions de fichier afin que le navigateur du système client puisse charger le gestionnaire approprié. Vous devez ajouter les types suivants :
Extension |
Type MIME |
---|---|
.manifest |
application/manifeste |
.xaml |
application/xaml+xml |
.application |
application/x-ms-application |
.xbap |
application/x-ms-xbap |
.deploy |
application/octet-stream |
.xps |
application/vnd.ms-xpsdocument |
Remarque : |
---|
Vous n'avez pas besoin d'enregistrer les types MIME ou extensions de fichier sur les systèmes client. Ils sont inscrits automatiquement lorsque vous installez Microsoft .NET Framework. |
L'exemple Microsoft Visual Basic Scripting Edition (VBScript) suivant ajoute automatiquement les types MIME nécessaires à IIS. Pour utiliser ce script, copiez le code dans un fichier .vbs sur votre serveur. Puis, exécutez le script en exécutant le fichier à partir de la ligne de commande ou en double-cliquant sur le fichier dans Explorateur Microsoft Windows.
' This script adds the necessary Windows Presentation Foundation MIME types
' to an IIS Server.
' To use this script, just double-click or execute it from a command line.
' Running this script multiple times results in multiple entries in the IIS MimeMap.
Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2
' Set the MIME types to be added
MimeTypesToAddArray = Array(".manifest", "application/manifest", ".xaml", _
"application/xaml+xml", ".application", "application/x-ms-application", _
".deploy", "application/octet-stream", ".xbap", "application/x-ms-xbap", _
".xps", "application/vnd.ms-xpsdocument")
' Get the mimemap object
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")
' Call AddMimeType for every pair of extension/MIME type
For counter = 0 to UBound(MimeTypesToAddArray) Step 2
AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
Next
' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")
' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = Nothing
' Report status to user
WScript.Echo "Windows Presentation Foundation MIME types have been registered."
' AddMimeType Sub
Sub AddMimeType (Ext, MType)
' Get the mappings from the MimeMap property.
MimeMapArray = MimeMapObj.GetEx("MimeMap")
' Add a new mapping.
i = UBound(MimeMapArray) + 1
Redim Preserve MimeMapArray(i)
Set MimeMapArray(i) = CreateObject("MimeMap")
MimeMapArray(i).Extension = Ext
MimeMapArray(i).MimeType = MType
MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
MimeMapObj.SetInfo
End Sub
Remarque : |
---|
L'exécution de ce script à plusieurs reprises crée plusieurs entrées de mappage MIME dans la métabase Microsoft Internet Information Services (IIS) 5.0 ou Microsoft Internet Information Services (IIS) 6.0. |
Après avoir exécuté ce script, vous ne pouvez pas consulter de types MIME supplémentaires à partir de Microsoft Management Console (MMC) Microsoft Internet Information Services (IIS) 5.0 ou Microsoft Internet Information Services (IIS) 6.0. Toutefois, ces types MIME ont été ajoutés à la métabase Microsoft Internet Information Services (IIS) 5.0 ou Microsoft Internet Information Services (IIS) 6.0. Le script suivant affichera tous les types MIME dans la métabase Microsoft Internet Information Services (IIS) 5.0 ou Microsoft Internet Information Services (IIS) 6.0.
' This script lists the MIME types for an IIS Server.
' To use this script, just double-click or execute it from a command line
' by calling cscript.exe
dim mimeMapEntry, allMimeMaps
' Get the mimemap object.
Set mimeMapEntry = GetObject("IIS://localhost/MimeMap")
allMimeMaps = mimeMapEntry.GetEx("MimeMap")
' Display the mappings in the table.
For Each mimeMap In allMimeMaps
WScript.Echo(mimeMap.MimeType & " (" & mimeMap.Extension + ")")
Next
Enregistrez le script en tant que fichier (par exemple, DiscoverIISMimeTypes.vbs) .vbs et exécutez-le à partir de l'invite de commandes à l'aide de la commande suivante :
cscript DiscoverIISMimeTypes.vbs