Freigeben über


Vorgehensweise: Konfigurieren von IIS 5.0 und IIS 6.0 zum Bereitstellen von WPF-Anwendungen

Sie können eine Windows Presentation Foundation (WPF)-Anwendung von den meisten Webservern bereitstellen, sofern sie mit den entsprechenden MIME-Typen (Multipurpose Internet Mail Extensions) konfiguriert sind. Microsoft Internet Information Services (IIS) 7.0 ist standardmäßig mit diesen MIME-Typen konfiguriert, Microsoft Internet Information Services (IIS) 5.0 und Microsoft Internet Information Services (IIS) 6.0 jedoch nicht.

In diesem Thema wird beschrieben, wie Sie Microsoft Internet Information Services (IIS) 5.0 und Microsoft Internet Information Services (IIS) 6.0 für die Bereitstellung von WPF-Anwendungen konfigurieren.

Hinweis

Sie können die UserAgent- Zeichenfolge in der Registrierung überprüfen, um zu ermitteln, ob ein System .NET Framework installiert hat. Ausführliche Informationen und ein Skript, das die UserAgent- Zeichenfolge untersucht, um zu bestimmen, ob .NET Framework auf einem System installiert ist, finden Sie unter Erkennen, ob .NET Framework 3.0installiert ist.

Anpassen der Einstellung für den Inhaltsablauf

Sie sollten die Ablaufzeit des Inhalts auf 1 Minute einstellen. Im folgenden Verfahren wird beschrieben, wie Sie dies mit IIS tun.

  1. Klicken Sie auf das Menü Start, zeigen Sie auf Verwaltung, und klicken Sie anschließend auf Internetinformationsdienste-Manager. Sie können diese Anwendung auch über die Befehlszeile mit "%SystemRoot%\system32\inetsrv\iis.msc" starten.

  2. Erweitern Sie die IIS-Struktur, bis Sie den Knoten Standardwebsite gefunden haben.

  3. Klicken Sie mit der rechten Maustaste auf Standardwebsite, und wählen Sie im Kontextmenü Eigenschaften aus.

  4. Wählen Sie die Registerkarte HTTP-Header aus, und klicken Sie auf „Inhaltsablauf aktivieren“.

  5. Legen Sie fest, dass der Inhalt nach 1 Minute abläuft.

Registrieren von MIME-Typen und Dateierweiterungen

Sie müssen mehrere MIME-Typen und Dateierweiterungen registrieren, damit der Browser im System des Clients den richtigen Handler laden kann. Sie müssen die folgenden Typen hinzufügen:

Erweiterung MIME-Typ
.manifest Anwendung/Manifest
XAML application/xaml+xml
APPLICATION application/x-ms-application
XBAP application/x-ms-xbap
DEPLOY application/octet-stream
XPS application/vnd.ms-xpsdocument

Hinweis

Sie müssen keine MIME-Typen oder Dateierweiterungen auf Clientsystemen registrieren. Sie werden automatisch registriert, wenn Sie Microsoft .NET Framework installieren.

Im folgenden Beispiel für Microsoft Visual Basic Scripting Edition (VBScript) werden automatisch die erforderlichen MIME-Typen zu IIS hinzugefügt. Um das Skript zu verwenden, kopieren Sie den Code in eine VBS-Datei auf Ihrem Server. Führen Sie dann das Skript aus, indem Sie die Datei über die Befehlszeile ausführen oder auf die Datei in Microsoft Windows Explorer doppelklicken.

' 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

Hinweis

Wenn Sie dieses Skript mehrmals ausführen, werden mehrere MIME-Zuordnungseinträge in der Metabasis von Microsoft-Internetinformationsdienste (IIS) 5.0 oder Microsoft-Internetinformationsdienste (IIS) 6.0 erstellt.

Nachdem Sie dieses Skript ausgeführt haben, sehen Sie möglicherweise keine zusätzlichen MIME-Typen in der Microsoft Management Console (MMC) für Microsoft-Internetinformationsdienste (IIS) 5.0 oder Microsoft-Internetinformationsdienste (IIS) 6.0. Diese MIME-Typen wurden jedoch zur Metabasis von Microsoft Internet Information Services (IIS) 5.0 oder Microsoft Internet Information Services (IIS) 6.0 hinzugefügt. Das folgende Skript zeigt alle MIME-Typen in der Microsoft Internetinformationsdienste (IIS) 5.0 oder Microsoft Internetinformationsdienste (IIS) 6.0-Metabasis an.

' 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

Speichern Sie das Skript als .vbs-Datei (z. B. DiscoverIISMimeTypes.vbs), und führen Sie es über die Eingabeaufforderung aus, indem Sie den folgenden Befehl verwenden:

cscript DiscoverIISMimeTypes.vbs