Cómo: Configurar IIS 5.0 e IIS 6.0 para implementar aplicaciones de WPF

Puede implementar una aplicación de Windows Presentation Foundation (WPF) desde la mayoría de los servidores web, siempre que estén configurados con los tipos Multipurpose Internet Mail Extensions (MIME) adecuados. De manera predeterminada, Microsoft Internet Information Services (IIS) 7.0 se configura con estos tipos MIME, pero Microsoft Internet Information Services (IIS) 5.0 y Microsoft Internet Information Services (IIS) 6.0, no.

En este tema se describe cómo configurar Microsoft Internet Information Services (IIS) 5.0 y Microsoft Internet Information Services (IIS) 6.0 para implementar aplicaciones de WPF.

Este tema contiene las secciones siguientes.

  • Ajustar la configuración de la expiración del contenido
  • Registrar tipos MIME y extensiones de archivo
NotaNota

Puede comprobar la cadena UserAgent del Registro para determinar si un sistema tiene .NET Framework instalado.Para obtener información detallada y un script que examina la cadena UserAgent para determinar si .NET Framework está instalado en un sistema, vea Cómo: Detectar si .NET Framework 3.0 está instalado.

Ajustar la configuración de la expiración del contenido

Debe ajustar el valor de la expiración del contenido a 1 minuto. En el siguiente procedimiento se indica cómo hacerlo con IIS.

  1. Haga clic en el menú Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS). También puede iniciar esta aplicación desde la línea de comandos con "%SystemRoot%\system32\inetsrv\iis.msc".

  2. Expanda el árbol de IIS hasta encontrar el nodo Sitio web predeterminado.

  3. Haga clic con el botón secundario en Sitio web predeterminado y seleccione Propiedades en el menú contextual.

  4. Seleccione la ficha Encabezados HTTP y haga clic en "Habilitar expiración de contenido".

  5. Establezca el contenido para que expire transcurrido 1 minuto.

Registrar tipos MIME y extensiones de archivo

Debe registrar varios tipos MIME y extensiones de archivo para que el explorador del sistema cliente pueda cargar el controlador correcto. Debe agregar los tipos siguientes:

Extensión

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

NotaNota

No necesita registrar los tipos MIME ni las extensiones de archivo en los sistemas cliente.Se registran automáticamente al instalar Microsoft .NET Framework.

En el ejemplo de Microsoft Visual Basic Scripting Edition (VBScript) siguiente se agregan automáticamente los tipos MIME necesarios a IIS. Para utilizar el script, copie el código en un archivo .vbs de su servidor. A continuación, ejecute el script desde la línea de comandos o haga doble clic en él desde el 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
NotaNota

Si ejecuta este script varias veces, se crean varias entradas de asignación MIME en la metabase de Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0.

Después de haber ejecutado este script, puede que no vea los tipos MIME adicionales de Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0 Microsoft Management Console (MMC). Sin embargo, estos tipos MIME se han agregado a la metabase de Microsoft Internet Information Services (IIS) 5.0 o Microsoft Internet Information Services (IIS) 6.0. El script siguiente mostrará todos los tipos MIME en la metabase de 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

Guarde el script como un archivo .vbs (por ejemplo, DiscoverIISMimeTypes.vbs) y ejecútelo desde el símbolo del sistema utilizando el comando siguiente:

cscript DiscoverIISMimeTypes.vbs