Procedura: configurare IIS 5.0 e IIS 6.0 per distribuire applicazioni WPF
È possibile distribuire un'applicazione Windows Presentation Foundation (WPF) dalla maggior parte dei server Web, purché siano configurati con i tipi MIME (Multipurpose Internet Mail Extensions) appropriati. Per impostazione predefinita, Microsoft Internet Information Services (IIS) 7.0 è configurato con questi tipi MIME, ma Microsoft Internet Information Services (IIS) 5.0 e Microsoft Internet Information Services (IIS) 6.0 non sono.
In questo argomento viene descritto come configurare Microsoft Internet Information Services (IIS) 5.0 e Microsoft Internet Information Services (IIS) 6.0 per distribuire applicazioni WPF.
Nota
È possibile controllare la stringa UserAgent nel Registro di sistema per determinare se è installato .NET Framework in un sistema. Per informazioni dettagliate e uno script che esamina la stringa UserAgent per determinare se .NET Framework è installato in un sistema, vedere Rilevare se .NET Framework 3.0 è installato.
Regolare l'impostazione di scadenza del contenuto
È necessario regolare l'impostazione della scadenza del contenuto su 1 minuto. La procedura seguente illustra come eseguire questa operazione con IIS.
Fare clic sul menu Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS). È anche possibile avviare questa applicazione dalla riga di comando con "%SystemRoot%\system32\inetsrv\iis.msc".
Espandere l'albero IIS fino a trovare il nodo Sito Web predefinito.
Fare clic con il pulsante destro del mouse su Sito Web predefinito e scegliere Proprietà dal menu contestuale.
Selezionare la scheda Intestazioni HTTP e fare clic su "Abilita scadenza contenuto".
Impostare il contenuto in modo che scada dopo 1 minuto.
Registrare tipi MIME ed estensioni file
È necessario registrare diversi tipi MIME ed estensioni di file in modo che il browser nel sistema del client possa caricare il gestore corretto. È necessario aggiungere i seguenti tipi:
Estensione | Tipo MIME |
---|---|
.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 |
Nota
Non è necessario registrare tipi MIME o estensioni di file nei sistemi client. Vengono registrati automaticamente quando si installa Microsoft .NET Framework.
Nell'esempio di Microsoft Visual Basic Scripting Edition (VBScript) seguente vengono aggiunti automaticamente i tipi MIME necessari a IIS. Per utilizzare lo script, copiare il codice in un file con estensione vbs sul server. Eseguire quindi lo script eseguendo il file dalla riga di comando o facendo doppio clic sul file in Microsoft Windows Explorer.
' 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
Nota
L'esecuzione di questo script più volte crea più voci della mappa MIME nella metabase microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0.
Dopo aver eseguito questo script, è possibile che non vengano visualizzati altri tipi MIME da Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0 Microsoft Management Console (MMC). Tuttavia, questi tipi MIME sono stati aggiunti alla metabase Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0. Lo script seguente visualizzerà tutti i tipi MIME nella metabase Microsoft Internet Information Services (IIS) 5.0 o 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
Salvare lo script come file .vbs
(ad esempio, DiscoverIISMimeTypes.vbs
) ed eseguirlo dal prompt dei comandi utilizzando il comando seguente:
cscript DiscoverIISMimeTypes.vbs
.NET Desktop feedback