ASP COM Plus <comPlus>
L’élément <comPlus>
de l’élément <asp>
configure les paramètres COM+ suivants pour les pages ASP (Active Server Pages) dans Internet Information Services (IIS) 7 :
La propriété appServiceFlags contient les indicateurs qui doivent être définis pour activer les services COM+ sur vos applications IIS 7. Une fois que vous avez activé les indicateurs, vous devrez peut-être également définir d’autres propriétés. Pour plus d’informations, consultez la section Configuration plus loin dans cet article.
L’attribut executeInMta spécifie si ASP peut exécuter des scripts dans un multithread cloisonné. ASP est capable d’exécuter tous ses threads dans un multithread cloisonné (MTA). Si vos composants COM sont principalement à threads libres ou plurithreads, l’exécution des threads ASP en tant que MTA peut améliorer considérablement les performances. Par défaut, la propriété executeInMta a la valeur false, ce qui signifie que ASP ne s’exécute pas dans MTA. Définissez cette propriété sur true au niveau de l’application pour permettre à ASP de s’exécuter dans MTA.
L’attribut partitionId spécifie l’identificateur global unique (GUID) d’une partition COM+, qui est utilisé pour isoler les applications web dans leurs propres partitions COM+. Les partitions COM+ contiennent différentes versions de vos propres composants COM personnalisés.
Remarque
Si vous spécifiez une valeur pour l’attribut partitionId, vous devez également définir l’indicateur UsePartition de l’attribut appServiceFlags.
L’attribut sxsName spécifie le nom d’une application COM+ et active les assemblys côte à côte (SxS). Les assemblys côte à côte (SxS) permettent aux applications ASP de spécifier la version d’une DLL système prise en charge par SxS à utiliser, comme MSVCRT, MSXML, COMCTL, GDIPLUS, etc.
Remarque
Si vous spécifiez une valeur pour l’attribut sxsName, vous devez également définir l’indicateur EnableSxS de l’attribut appServiceFlags.
L’attribut trackThreadingModel spécifie si IIS 7 vérifie si le modèle de thread de tous les composants (objets COM) créés par votre application. Le paramètre privilégiée de cet attribut de métabase est false. Si trackThreadingModel a la valeur true, les conditions suivantes s’appliquent :
ASP utilise des ressources système pour suivre le modèle de thread, ce qui réduit les performances de votre application ASP.
Les objets créés dans votre application ASP en dehors de la méthode OnStartPage ou OnEndPage sont publiés plus tôt que prévu, ce qui entraîne une dégradation de la scalabilité de votre application et peut empêcher votre composant d’écrire dans la réponse dans la méthode de destructeur d’objet.
Si l’attribut trackThreadingModel a la valeur falseet que vous donnez la portée de l’application aux composants que vous créez, ces composants doivent agréger le marshaleur à threads libres. Si vous n’agrègez pas le marshaleur à threads libres, ASP génère une erreur lorsque vous essayez de créer une instance du composant. Pour plus d’informations, consultez Sélection d’un modèle de thread pour les composants dans IIS.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <comPlus> n’a pas été modifié dans IIS 10.0. |
IIS 8.5 | L’élément <comPlus> n’a pas été modifié dans IIS 8.5. |
IIS 8.0 | L’élément <comPlus> n’a pas été modifié dans IIS 8.0. |
IIS 7.5 | L’élément <comPlus> n’a pas été modifié dans IIS 7.5. |
IIS 7.0 | L’élément <comPlus> de l’élément <asp> a été introduit dans IIS 7.0. |
IIS 6.0 | L’élément <comPlus> remplace les propriétés de métabase IIS 6.0 suivantes :
|
Programme d’installation
Pour prendre en charge et configurer des applications ASP sur votre serveur web, vous devez installer le module ASP. Pour installer le module ASP, observez les étapes suivantes.
Windows Server 2012 ou Windows Server 2012 R2
Dans la barre des tâches, cliquez sur Gestionnaire de serveur. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant. Dans la page Rôles de serveur, développez Serveur web (IIS), Serveur web, Développement d’applications, puis sélectionnez ASP.
Si la boîte de dialogue Ajouter des fonctionnalités requises par ASP ? s’affiche, cliquez sur Ajouter des fonctionnalités. (Cette page s’affiche uniquement si vous n’avez pas déjà installé le service de rôle Extensions ISAPI sur votre serveur.) Dans la page Rôles de serveur, cliquez sur Suivant. - Dans la page Sélectionner les fonctionnalités, cliquez sur Suivant. - Dans la page Confirmer les sélections d’installation, cliquez sur Installer. - Dans la page Résultats, cliquez sur Fermer.
Windows 8 ou Windows 8.1
Dans l’écran d’accueil, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
Développez Internet Information Services, Services World Wide Web, Fonctionnalités de développement d’applications, puis sélectionnez ASP.
Remarque
Le rôle Extensions ISAPI est sélectionnée si elle n’a pas déjà été installée.
Cliquez sur OK.
Cliquez sur Fermer.
Windows Server 2008 ou Windows Server 2008 R2
- Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
- Dans le volet hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
- Dans le volet Serveur web (IIS), faites défiler jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
- Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez ASP.
- Si la boîte de dialogue Ajouter des services de rôle requis par ASP s’affiche, cliquez sur Ajouter les services de rôle requis. (Cette page s’affiche uniquement si vous n’avez pas déjà installé le service de rôle Extensions ISAPI sur votre serveur.)
- Dans la page Sélectionner les services de rôle, cliquez sur Suivant.
- Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows Vista ou Windows 7
Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
Développez Internet Information Services, Services World Wide Web, puis Fonctionnalités de développement d’applications.
Sélectionnez ASP, puis cliquez sur OK.
Procédure
Comment configurer des paramètres d’état de session ASP pour un site ou une application
Ouvrez le Gestionnaire des services Internet (IIS) :
Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8 ou Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :
- Cliquez sur Démarrer, placez le curseur sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Vista ou Windows 7 :
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Dans le volet Connexions , développez le nom du serveur, développez Sites, puis accédez au site Web ou à l’application web que vous souhaitez configurer.
Dans le volet Accueil du site ou de l’application, double-cliquez sur ASP.
Dans le volet ASP, développez la section Propriétés COM Plus et configurez vos paramètres souhaités.
Cliquez sur Appliquer dans le volet Actions.
Configuration
Attributs
Attribut | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
appServiceFlags |
Attribut flags facultatif. Contient les indicateurs qui doivent être définis pour activer les services COM+ sur vos applications IIS. L’attribut appServiceFlags peut être l’une des valeurs possibles suivantes. La valeur par défaut est None .
|
||||||||||
executeInMta |
Attribut booléen facultatif. Spécifie si ASP s’exécute dans un environnement multithread. La valeur par défaut est false . |
||||||||||
partitionId |
Attribut de chaîne facultatif. Spécifie l’identificateur global unique (GUID) de la partition COM+. Remarque : cet attribut est requis lorsque l’attribut appServiceFlags est défini sur UsePartition. La valeur par défaut est 00000000-0000-0000-0000-000000000000 . |
||||||||||
sxsName |
Attribut de chaîne facultatif. Remarque : cet attribut est requis lorsque l’attribut appServiceFlags est défini sur EnableSxS. Spécifie le nom de l’application COM+. |
||||||||||
trackThreadingModel |
Attribut booléen facultatif. Spécifie si la vérification du modèle de thread est activée. La valeur true signifie que IIS respecte le modèle de thread des composants créés par une application. La valeur par défaut est false . |
Éléments enfants
Aucune.
Exemple Configuration
L’exemple de configuration suivant montre comment configurer IIS pour activer la vérification des modèles de thread et configurer ASP pour qu’il s’exécute dans un compartiment multithread.
<configuration>
<system.webServer>
<asp>
<comPlus trackThreadingModel="true" executeInMta="true" />
</asp>
</system.webServer>
</configuration>
Exemple de code
Les exemples de code suivants montrent comment configurer IIS pour activer la vérification des modèles de thread et configurer ASP pour qu’il s’exécute dans un compartiment multithread.
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
Remarque
Vous devez veiller à définir le paramètre commit sur apphost
quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier 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()