Freigeben über


Gewusst wie: Konfigurieren von IIS 5.0 und IIS 6.0, um WPF-Anwendungen bereitzustellen

Sie können eine Windows Presentation Foundation (WPF)-Anwendung über die meisten Webserver bereitstellen, solange diese mit den erforderlichen Multipurpose Internet Mail Extensions (MIME)-Typen konfiguriert werden. Standardmäßig wird Microsoft Internet Information Services (IIS) 7.0 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 zum Bereitstellen von WPF-Anwendungen konfigurieren.

Dieses Thema enthält folgende Abschnitte.

  • Anpassen der Einstellung für die Gültigkeitsdauer des Inhalts
  • Registrieren von MIME-Typen und -Dateierweiterungen
HinweisHinweis

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

Anpassen der Einstellung für die Gültigkeitsdauer des Inhalts

Sie sollten die Einstellung für die Inhaltsgültigkeitsdauer auf 1 Minute setzen. Die folgende Prozedur zeigt, wie Sie dies in IIS erreichen.

  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 starten, indem Sie den Befehl "%SystemRoot%\system32\inetsrv\iis.msc" verwenden.

  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ü den Befehl Eigenschaften.

  4. Wählen Sie die Registerkarte HTTP-Header, und klicken Sie auf "Inhalt läuft ab und wird ungültig".

  5. Setzen Sie die Ablaufzeit auf 1 Minute.

Registrieren von MIME-Typen und -Dateierweiterungen

Sie müssen mehrere MIME-Typen und -Dateierweiterungen registrieren, damit der Browser auf dem Clientsystem den richtigen Handler laden kann. Sie müssen die folgenden Typen hinzufügen:

Erweiterung

MIME-Typ

MANIFEST

application/manifest

.xaml

application/xaml+xml

APPLICATION

application/x-ms-application

XBAP

application/x-ms-xbap

DEPLOY

application/octet-stream

XPS

application/vnd.ms-xpsdocument

HinweisHinweis

Sie müssen auf Clientsystemen keine MIME-Typen oder -Dateierweiterungen registrieren.Die Registrierung wird automatisch beim Installieren von Microsoft .NET Framework durchgeführt.

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

' 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
HinweisHinweis

Wenn Sie dieses Skript mehrfach ausführen, werden in der Microsoft Internet Information Services (IIS) 5.0- bzw. Microsoft Internet Information Services (IIS) 6.0-Metabasis mehrere MIME-Zuordnungseinträge erstellt.

Nachdem Sie dieses Skript ausgeführt haben, kann es sein, dass Sie in der Microsoft Internet Information Services (IIS) 5.0- oder Microsoft Internet Information Services (IIS) 6.0-Microsoft Management Console (MMC) keine zusätzlichen MIME-Typen sehen. Diese MIME-Typen wurden der Microsoft Internet Information Services (IIS) 5.0- bzw. Microsoft Internet Information Services (IIS) 6.0-Metabasis jedoch hinzugefügt. Das folgende Skript zeigt alle MIME-Typen in der Microsoft Internet Information Services (IIS) 5.0- bzw. Microsoft Internet Information Services (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 an der Eingabeaufforderung aus, indem Sie den folgenden Befehl verwenden:

cscript DiscoverIISMimeTypes.vbs