Partilhar via


Como: Configurar o IIS 5.0 e IIS 6.0 para implantar aplicativos WPF

Você pode implantar um aplicativo Windows Presentation Foundation (WPF) na maioria dos servidores Web, desde que eles são configurados com os tipos Multipurpose Internet Mail Extensions (MIME) apropriados. Por padrão, Serviços de Informações da Internet da Microsoft (IIS) 7.0 é configurado com esses tipos MIME, mas Serviços de Informações da Internet da Microsoft (IIS) 5,0 e Serviços de Informações da Internet da Microsoft (IIS) 6,0 não são.

Este tópico descreve como configurar Serviços de Informações da Internet da Microsoft (IIS) 5,0 e Serviços de Informações da Internet da Microsoft (IIS) 6,0 para implantar aplicativos WPF.

Este tópico contém as seguintes seções.

  • Ajustar as configurações de expiração de conteúdo
  • Registrar os tipos de MIME e extensões de arquivo
ObservaçãoObservação:

Você pode verificar o UserAgent seqüência no registro para determinar se um sistema tem .NET Framework instalado. Para obter detalhes e um script que examina a string UserAgent para determinar se .NET Framework está instalado em um sistema, consulte Como: Detect Whether the .NET Framework 3,0 Is Installed.

Ajustar as configurações de expiração de conteúdo

Você deve ajustar a configuração de expiração de conteúdo para 1 minuto. O procedimento a seguir descreve como fazer isso com IIS.

  1. Clique no menu Start, aponte para Ferramentas administrativas e clique em Serviços de Informações da Internet (IIS) Gerenciador . Você também pode iniciar este aplicativo a partir de linha de comando com "%SystemRoot%\System32\inetsrv\iis.msc".

  2. Expanda a IIS árvore até localizar o site da Web padrão.

  3. Clique com o botão direito do mouse em Default Web Site e selecione o menu de contexto Properties.

  4. Selecione a guia Cabeçalhos HTTP e clique em "Ativar expiração de conteúdo".

  5. Defina o conteúdo para expirar após um minuto.

Registrar os tipos de MIME e extensões de arquivo

Você deve registrar vários MIME tipos e extensões de arquivo para que o navegador no sistema do cliente possa carregar o identificador correto. Você precisa adicionar os seguintes tipos:

Extensão

Tipo de 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

ObservaçãoObservação:

Você não precisa registrar MIME os tipos ou extensões de arquivo nos sistemas clientes. Eles são registrados automaticamente quando você instala Microsoft .NET Framework.

O exemplo a seguir Microsoft Visual Basic Scripting Edition (VBScript) adiciona automaticamente os tipos MIME necessários ao IIS. Para usar o script, copie o código em um arquivo .vbs no seu servidor. Em seguida, execute o script executando o arquivo a partir de linha de comando ou clicando duas vezes no arquivo na 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
ObservaçãoObservação:

A execução deste script várias vezes cria vários MIME mapear as entradas a Serviços de Informações da Internet da Microsoft (IIS) 5,0 ou Serviços de Informações da Internet da Microsoft (IIS) 6,0 metabase.

Depois de executar esse script, talvez você não veja tipos MIME adicionais de Serviços de Informações da Internet da Microsoft (IIS) 5,0 ou Serviços de Informações da Internet da Microsoft (IIS) 6,0 Console de Gerenciamento Microsoft (MMC). No entanto, esses tipos MIME foram adicionados ao Serviços de Informações da Internet da Microsoft (IIS) 5,0 ou Serviços de Informações da Internet da Microsoft (IIS) 6,0 MetaBase. O script a seguir exibirá todos os tipos MIME em Serviços de Informações da Internet da Microsoft (IIS) 5,0 ou Serviços de Informações da Internet da Microsoft (IIS) 6,0 MetaBase.

' 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

Salve o script como um arquivo .vbs (por exemplo, DiscoverIISMimeTypes.vbs) e executá-lo a partir de prompt de comando usando o seguinte comando:

cscript DiscoverIISMimeTypes.vbs