Практическое руководство. Настройка служб IIS 5.0 и IIS 6.0 для развертывания приложений WPF
Можете развернуть приложение Windows Presentation Foundation (WPF) с большинства веб-серверов, если они настроены с соответствующими типами расширений MIME. По умолчанию с этими типами MIME настраивается Microsoft IIS 7.0, но не Microsoft IIS 5.0 и Microsoft IIS 6.0.
В этом разделе описывается настройка Microsoft IIS 5.0 и Microsoft IIS 6.0 для развертывания приложений WPF.
Примечание.
Можно проверить строку UserAgent в реестре, чтобы определить, установлена ли в системе платформа .NET Framework. Подробные сведения и скрипт, проверяющий по строке UserAgent наличие в системе установленной платформы .NET Framework, см. в разделе Проверка наличия установленной платформы .NET Framework 3.0.
Настройка параметра срока действия содержимого
Следует установить параметр срока действия содержимого на 1 минуту. В следующей процедуре показано, как это сделать для IIS.
Выберите в меню Пуск пункт Администрирование и щелкните строку Диспетчер служб IIS. Кроме этого, приложение можно запустить, набрав в командной строке "%SystemRoot%\system32\inetsrv\iis.msc".
Разворачивайте дерево IIS, пока не найдете узел Веб-сайт по умолчанию.
Щелкните правой кнопкой мыши Веб-сайт по умолчанию и выберите в контекстном меню пункт Свойства.
Перейдите на вкладку Заголовки HTTP и нажмите кнопку "Активировать срок действия содержимого".
Установите срок действия контента равным одной минуте.
Регистрация типов MIME и расширений файлов
Необходимо зарегистрировать несколько типов MIME и расширений файлов, чтобы браузер клиентской системы мог загрузить правильный обработчик. Необходимо добавить следующие типы.
Расширение | Тип MIME |
---|---|
.manifest | application/manifest |
.xaml | application/xaml+xml |
приложение. | application/x-ms-application |
.xbap | application/x-ms-xbap |
выполнить развертывание. | application/octet-stream |
.xps | application/vnd.ms-xpsdocument |
Примечание.
В клиентских системах регистрировать типы MIME и расширения файлов не требуется. Они регистрируются автоматически при установке платформы Microsoft .NET Framework.
Следующий пример Microsoft Visual Basic Scripting Edition (VBScript) автоматически добавляет в IIS необходимые типы MIME. Чтобы использовать скрипт, скопируйте код в 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
Примечание.
Выполнение этого скрипта несколько раз создает несколько записей карты MIME в метабазе Microsoft IIS 5.0 или Microsoft IIS 6.0.
После выполнения этого скрипта дополнительные типы MIME могут не отображаться в консоли управления (MMC) Microsoft IIS 5.0 или Microsoft IIS 6.0. Но эти типы 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
.NET Desktop feedback