Partager via


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.

  1. 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 ».

  2. Développez l'arborescence IIS jusqu'à ce que vous trouviez le nœud Site Web par défaut.

  3. Cliquez avec le bouton droit sur Site Web par défaut et sélectionnez Propriétés dans le menu contextuel.

  4. Sélectionnez l'onglet En-têtes HTTP et cliquez sur « Activer l'expiration de contenu ».

  5. 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