Gewusst wie: Konfigurieren von IIS 5.0 und IIS 6.0, um WPF-Anwendungen bereitzustellen
Sie können eine WPF-Anwendung (Windows Presentation Foundation) aus den meisten Webservern bereitstellen, solange sie mit den entsprechenden MIME-Typen (Multipurpose Internet Mail Extensions, MIME) konfiguriert sind. Standardmäßig ist Microsoft-Internetinformationsdienste (IIS) 7.0 mit diesen MIME-Typen konfiguriert, Microsoft-Internetinformationsdienste (IIS) 5.0 und Microsoft-Internetinformationsdienste (IIS) 6.0 sind es jedoch nicht.
In diesem Thema wird beschrieben, wie Sie Microsoft-Internetinformationsdienste (IIS) 5.0 und Microsoft-Internetinformationsdienste (IIS) 6.0 konfigurieren, um WPF-Anwendungen bereitzustellen.
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 aus.
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:
Durchwahl | 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. Sie werden automatisch registriert, wenn Sie Microsoft .NET Framework installieren.
Im folgenden Beispiel für Microsoft Visual Basic Scripting Edition (VBScript) werden IIS automatisch die erforderlichen MIME-Typen 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 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 der Metabasis von Microsoft-Internetinformationsdienste (IIS) 5.0 oder Microsoft-Internetinformationsdienste (IIS) 6.0 jedoch hinzugefügt. Das folgende Skript zeigt alle MIME-Typen in der Metabasis von Microsoft-Internetinformationsdienste (IIS) 5.0 oder Microsoft-Internetinformationsdienste (IIS) 6.0 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
.NET Desktop feedback