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
Hinweis |
---|
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.
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.
Erweitern Sie die IIS-Struktur, bis Sie den Knoten Standardwebsite gefunden haben.
Klicken Sie mit der rechten Maustaste auf Standardwebsite, und wählen Sie im Kontextmenü den Befehl Eigenschaften.
Wählen Sie die Registerkarte HTTP-Header, und klicken Sie auf "Inhalt läuft ab und wird ungültig".
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 |
Hinweis |
---|
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
Hinweis |
---|
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