Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Элемент <comPlus><asp> элемента настраивает следующие параметры COM+ для страниц Active Server (ASP) в службах IIS 7:
Свойство appServiceFlags содержит флаги, которые необходимо установить для включения служб COM+ в приложениях IIS 7. После включения флагов также может потребоваться задать другие свойства. Дополнительные сведения см. в разделе Конфигурация далее в этой статье.
Атрибут executeInMta указывает, может ли ASP выполнять скрипты в многопоточной квартире. ASP может выполнять все свои потоки в многопотоковом объекте (MTA). Если com-компоненты в основном являются свободными или обоими потоками, запуск потоков ASP в виде MTA может значительно повысить производительность. По умолчанию свойству executeInMta присвоено значение false, что означает, что ASP не выполняется в MTA. Присвойте этому свойству значение true на уровне приложения, чтобы asp мог работать в MTA.
Атрибут partitionId указывает глобальный уникальный идентификатор (GUID) секции COM+, который используется для изоляции веб-приложений в собственные секции COM+. Разделы COM+ содержат разные версии собственных пользовательских com-компонентов.
Примечание
Если указать значение атрибута partitionId , необходимо также установить флаг UsePartition атрибута appServiceFlags .
Атрибут sxsName указывает имя приложения COM+ и включает параллельные сборки (SxS). Параллельные сборки (SxS) позволяют приложениям ASP указать, какую версию поддерживаемой SxS системной БИБЛИОТЕКи DLL использовать, например MSVCRT, MSXML, COMCTL, GDIPLUS и т. д.
Примечание
Если указать значение для атрибута sxsName , необходимо также установить флаг EnableSxS атрибута appServiceFlags .
Атрибут trackThreadingModel указывает, проверяет ли СЛУЖБА IIS 7 потоковую модель каких-либо компонентов (COM-объектов), создаваемых приложением. Предпочтительный параметр атрибута метабазы — false. Если параметр trackThreadingModel имеет значение true, применяются следующие условия:
ASP использует системные ресурсы для отслеживания модели потоков, снижая производительность приложения ASP.
Объекты, созданные в приложении ASP за пределами метода OnStartPage или OnEndPage , освобождаются раньше, чем ожидалось, что приводит к снижению масштабируемости приложения и может помешать компоненту записывать данные в ответ в методе деструктора объектов.
Если атрибут trackThreadingModel имеет значение false и вы предоставляете область приложения создаваемым компонентам, эти компоненты должны агрегировать маршалер свободного потока. Если вы не выполняете агрегирование маршалера свободного потока, ASP выдает ошибку при попытке создать экземпляр компонента. Дополнительные сведения см. в разделе Выбор потоковой модели для компонентов в IIS.
Совместимость
| Версия | Примечания |
|---|---|
| IIS 10.0 | Элемент <comPlus> не был изменен в IIS 10.0. |
| IIS 8,5 | Элемент <comPlus> не был изменен в IIS 8.5. |
| IIS 8,0 | Элемент <comPlus> не был изменен в IIS 8.0. |
| IIS 7,5 | Элемент <comPlus> не был изменен в IIS 7.5. |
| IIS 7.0 | Элемент <comPlus> элемента появился <asp> в IIS 7.0. |
| IIS 6,0 | Элемент <comPlus> заменяет следующие свойства метабазы IIS 6.0:
|
Настройка
Для поддержки и настройки приложений ASP на веб-сервере необходимо установить модуль ASP. Чтобы установить модуль ASP, выполните следующие действия.
Windows Server 2012 или Windows Server 2012 R2
На панели задач щелкните Диспетчер сервера. — В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты. — В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее. — На странице Роли сервера разверните узел Веб-сервер (IIS),веб-сервер, узел Разработка приложений, а затем выберите ASP.
Если появится диалоговое окно Добавление компонентов, необходимых для ASP? , нажмите кнопку Добавить компоненты. (Эта страница отображается только в том случае, если на сервере еще не установлена служба ролей расширений ISAPI.) — На странице Роли сервера нажмите кнопку Далее. — На странице Выбор компонентов нажмите кнопку Далее. — На странице Подтверждение выбора установки нажмите кнопку Установить. — На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите панель управления.
В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
Разверните узел Службы IIS, Веб-службы, Компоненты разработки приложений, а затем выберите ASP.
Примечание
Роль расширения ISAPI будет выбрана, если она еще не установлена.
Нажмите кнопку ОК.
Щелкните Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку Пуск, выберите Администрирование, а затем диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел Роли и выберите Веб-сервер (IIS).
- На панели Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
- На странице Выбор служб ролеймастера добавления служб ролей выберите ASP.
- Если откроется диалоговое окно Добавление служб ролей, необходимых для ASP , щелкните Добавить необходимые службы ролей. (Эта страница отображается только в том случае, если на сервере еще не установлена служба ролей расширений ISAPI.)
- На странице Выбор служб ролей нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
На панели задач нажмите кнопку Пуск, а затем панель управления.
В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
Разверните узел Службы IIS, затем Веб-службы, а затем Функции разработки приложений.
Выберите ASP и нажмите кнопку ОК.
Инструкции
Настройка параметров состояния сеанса ASP для сайта или приложения
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
- Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
В области Подключения разверните имя сервера, узел Сайты, а затем перейдите к веб-сайту или веб-приложению, которые требуется настроить.
На домашней панели сайта или приложения дважды щелкните ЭЛЕМЕНТ ASP.
На панели ASP разверните раздел Свойства Com Plus и настройте нужные параметры.
Щелкните Применить в области Действия.
Конфигурация
Атрибуты
| Атрибут | Описание | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
appServiceFlags |
Необязательный атрибут flags. Содержит флаги, которые необходимо задать для включения служб COM+ в приложениях IIS. Атрибут appServiceFlags может иметь одно из следующих возможных значений. Значение по умолчанию — None.
|
||||||||||
executeInMta |
Дополнительный логический атрибут. Указывает, выполняется ли ASP в многопоточной среде. Значение по умолчанию — false. |
||||||||||
partitionId |
Необязательный строковый атрибут. Указывает глобальный уникальный идентификатор (GUID) секции COM+. Примечание: Этот атрибут является обязательным, если для атрибута appServiceFlags задано значение UsePartition. Значение по умолчанию — 00000000-0000-0000-0000-000000000000. |
||||||||||
sxsName |
Необязательный строковый атрибут. Примечание: Этот атрибут является обязательным, если для атрибута appServiceFlags задано значение EnableSxS. Указывает имя приложения COM+. |
||||||||||
trackThreadingModel |
Дополнительный логический атрибут. Указывает, включена ли проверка модели потока. Значение true означает, что СЛУЖБЫ IIS учитывают модель потоков компонентов, создаваемых приложением. Значение по умолчанию — false. |
Дочерние элементы
Отсутствует.
Образец конфигурации
В следующем примере конфигурации показано, как настроить СЛУЖБЫ IIS для включения проверки модели потоков и настройки ASP для запуска в многопоточных секциях.
<configuration>
<system.webServer>
<asp>
<comPlus trackThreadingModel="true" executeInMta="true" />
</asp>
</system.webServer>
</configuration>
Пример кода
В следующих примерах кода показано, как настроить СЛУЖБЫ IIS для включения проверки модели потоков и настройки ASP для выполнения в многопоточных секциях.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /comPlus.trackThreadingModel:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /comPlus.executeInMta:"True" /commit:apphost
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Default Web Site");
ConfigurationElement comPlusElement = aspSection.GetChildElement("comPlus");
comPlusElement["trackThreadingModel"] = true;
comPlusElement["executeInMta"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Default Web Site")
Dim comPlusElement As ConfigurationElement = aspSection.GetChildElement("comPlus")
comPlusElement("trackThreadingModel") = True
comPlusElement("executeInMta") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var comPlusElement = aspSection.ChildElements.Item("comPlus");
comPlusElement.Properties.Item("trackThreadingModel").Value = true;
comPlusElement.Properties.Item("executeInMta").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set comPlusElement = aspSection.ChildElements.Item("comPlus")
comPlusElement.Properties.Item("trackThreadingModel").Value = True
comPlusElement.Properties.Item("executeInMta").Value = True
adminManager.CommitChanges()