Condividi tramite


Procedura: configurare IIS 5.0 e IIS 6.0 per distribuire applicazioni WPF

Aggiornamento: novembre 2007

È possibile distribuire un'applicazione Windows Presentation Foundation (WPF) dalla maggior parte dei server Web, purché siano configurati con i tipi Multipurpose Internet Mail Extensions (MIME) appropriati. Per impostazione predefinita, Microsoft Internet Information Services (IIS) 7.0 è configurato con questi tipi MIME, tuttavia Microsoft Internet Information Services (IIS) 5.0 e Microsoft Internet Information Services (IIS) 6.0 non lo sono.

In questo argomento viene illustrato come configurare Microsoft Internet Information Services (IIS) 5.0 e Microsoft Internet Information Services (IIS) 6.0 per distribuire le applicazioni WPF.

Nel presente argomento sono contenute le seguenti sezioni.

  • Regolare l'impostazione di scadenza del contenuto
  • Registrare tipi MIME ed estensioni file

Nota

È possibile controllare la stringa UserAgent nel Registro di sistema per determinare se in un sistema è installato .NET Framework. Per informazioni dettagliate e uno script che esamina la stringa UserAgent da determinare se .NET Framework è installato in un sistema, vedere Procedura: verificare se .NET Framework 3.0 è installato.

Regolare l'impostazione di scadenza del contenuto

È necessario regolare l'impostazione della scadenza del contenuto su 1 minuto. Di seguito viene illustrato come eseguire questa operazione con IIS.

  1. 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".

  2. Espandere la struttura ad albero di IIS fino a trovare il nodo Sito Web predefinito.

  3. Fare clic con il pulsante destro del mouse su Sito Web predefinito e scegliere Proprietà dal menu di scelta rapida.

  4. Selezionare la scheda Intestazioni HTTP e fare clic su "Abilita scadenza contenuto"

  5. Impostare il contenuto in modo che scada dopo 1 minuto.

Registrare tipi MIME ed estensioni file

Per consentire al browser del sistema del client di caricare il gestore corretto, è necessario registrare diversi tipi MIME ed estensioni file. È 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 file nei sistemi client. Questi vengono registrati automaticamente quando si installa Microsoft .NET Framework.

Nell'esempio Microsoft Visual Basic Scripting Edition (VBScript) seguente i tipi MIME necessari vengono aggiunti automaticamente a IIS. Per utilizzare lo script, copiare il codice in un file vbs sul server. Quindi, eseguire lo script eseguendo il file dalla riga di comando oppure facendo doppio clic sul file in Esplora risorse di Microsoft Windows.

' 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

Se lo script viene eseguito più volte, vengono create voci di mappa MIME multiple nella metabase Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0.

Dopo avere eseguito questo script, potrebbe non essere possibile visualizzare tipi MIME aggiuntivi da Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0Microsoft 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. Mediante lo script seguente saranno visualizzati tutti i tipi MIME della 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