Show / Hide Table of Contents

Практическое руководство. Настройка служб IIS 5.0 и IIS 6.0 для развертывания приложений WPF

Приложение Windows Presentation Foundation (WPF) можно разворачивать с большинства веб-серверов при условии, что они настроены с соответствующими типами MIME. По умолчанию Службы Microsoft IIS 7.0 настроена с типами MIME, в отличие от Службы Microsoft IIS 5.0 и Службы Microsoft IIS 6.0.

В этом разделе описывается настройка Службы Microsoft IIS 5.0 и Службы Microsoft IIS 6.0 для развертывания приложений WPF.

Note

Вы можете проверить UserAgent строку в реестре, чтобы определить, имеет ли система установлена платформа .NET Framework. Дополнительные сведения и скрипт, проверяющий UserAgent строку, чтобы определить, установлена ли платформа .NET Framework в системе, см. в разделе обнаруживать ли .NET Framework 3.0 устанавливается.

Настройка параметра срока действия содержимого

Следует установить параметр срока действия содержимого на 1 минуту. В следующей процедуре показано, как это сделать с помощью IIS.

  1. Выберите в меню Пуск пункт Администрирование и щелкните строку Диспетчер служб IIS. Кроме этого, приложение можно запустить, набрав в командной строке "%SystemRoot%\system32\inetsrv\iis.msc".

  2. Разворачивайте дерево IIS, пока не найдете узел Веб-сайт по умолчанию.

  3. Щелкните правой кнопкой мыши Веб-сайт по умолчанию и выберите в контекстном меню пункт Свойства.

  4. Перейдите на вкладку Заголовки HTTP и нажмите кнопку "Активировать срок действия содержимого".

  5. Установите срок действия контента равным одной минуте.

Регистрация типов MIME и расширений файлов

Вы должны зарегистрировать несколько типов MIME и расширений файлов, чтобы браузер в клиентской системе мог загрузить правильный обработчик. Необходимо добавить следующие типы.

Расширение Тип 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
Note

В клиентских системах регистрация типов MIME или расширений файлов не требуется. Они регистрируются автоматически при установке Microsoft .NET Framework.

В следующем примере Microsoft Visual Basic Scripting Edition (VBScript) автоматически добавляет необходимые MIME типов IIS. Чтобы использовать скрипт, скопируйте код в VBS-файл на своем сервере. Затем выполните скрипт, запустив файл из командной строки или дважды щелкнув этот файл в Проводник 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
Note

При многократном запуске скрипта создастся множество записей сопоставления MIME в метабазе Службы Microsoft IIS 5.0 или Службы Microsoft IIS 6.0.

После выполнения этого скрипта дополнительные типы MIME могут быть не видны из служб Службы Microsoft IIS 5.0 или Службы Microsoft IIS 6.0 Консоль управления (MMC). Однако эти типы MIME были добавлены в метабазу Службы Microsoft IIS 5.0 или Службы Microsoft IIS 6.0. Следующий скрипт отобразит все типы MIME в метабазе Службы Microsoft IIS 5.0 или Службы Microsoft 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

Сохраните скрипт в виде файла .vbs (например, DiscoverIISMimeTypes.vbs) и запустите его из командной строки с помощью следующей команды:

cscript DiscoverIISMimeTypes.vbs
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX