Recommandé: collection d'erreurs ASP La collecte d'erreurs ASP est utile aux débutants, et peut-être que les experts l'oublieront. Collection d'erreur ASP Microsoft VBScript Language * Erreur (0x800A03E9) -> Mémoire insuffisante Microsoft VBScript Language * Erreur (0x800A03EA) -> Speech * Erreur Microsoft VBScript Language * Erreur (0x800A03EA) -> Speech * Erreur Microsoft VBScript Language *
Les demandes ASP sont initialisées par les objets WAM. L'objet WAM l'envoie ensuite à Asp-Runtime. ASP-Runtime y répond en créant un objet de page interne.Un objet WAM est un objet de thread libre. Lorsqu'il appelle une extension ISAPI telle que ASP.DLL, il utilise des threads du modèle MTA alloué par le pool de threads maintenu par IIS-Runtime.
Un problème difficile rencontré lors de la création d'une extension ISAPI est de savoir comment faire face à la concurrence et à la synchronisation du fil causées par ce pool de threads MTA. ASP-Runtime simplifie le problème en changeant chaque demande ASP à une seule unité filetée (STA) avant d'exécuter le script ASP. ASP-Runtime gère un pool de threads d'assistance STA autonome (en arrière-plan, ASP le fait en fait en utilisant un pool de threads com). Les concepteurs ASP ont créé ce schéma de mise en potions de threads pour fournir un équilibre optimisé entre la concurrence et l'utilisation des ressources tout en éliminant la nécessité pour les programmeurs de se synchroniser.
Comment ASP-Runtime passe-t-il à chaque demande d'un thread MTA à un thread STA. Le mécanisme de planification ASP-Runtime place chaque demande dans une file d'attente de demande centrale. Les threads STA dans le pool de threads gérés par l'ASP surveillent la file d'attente et traitent les demandes de la première manière. Notez que la taille de ce pool de threads change dynamiquement. ASP-Runtime génère des threads supplémentaires pendant les communications de pointe et libère des threads lorsqu'il y a moins de communication.
Le passage au thread STA résout efficacement le problème de concurrence, mais cela a également un impact significatif sur les performances. La DLL étendue ISAPI traitée dans un escadron de thread MTA séparé fournit des temps de réponse plus rapides.
IIS fournit une méthode pour définir la taille maximale du pool de threads STA et demande la file d'attente. La taille du pool de threads est contrôlée par la clé primaire AsproceStorthReadMax dans la métadatabase IIS. Le paramètre par défaut pour cette clé primaire est de 25 par processus par processeur (commentaire: il est préférable de trouver la documentation pertinente de Microsoft pour prouver ce nombre. Certaines personnes disent que ce nombre est de 10 par CPU). C'est-à-dire que, dans un ordinateur à quatre processeurs, chaque processus qui traite ASP peut avoir jusqu'à 100 threads auxiliaires. À moins que les problèmes liés aux pools de threads de réglage aient été pris en compte, la modification de cette valeur de clé doit être évitée. Notez que vous ne pouvez pas utiliser Internet Server Manager pour modifier ce paramètre. Il doit être modifié à l'aide de scripts de gestion ou d'applications VB.
IIS définit une capacité maximale pour la file d'attente de demande ASP. Par défaut, ASP-Runtime permet à une file d'attente de contenir jusqu'à 3000 demandes (un document Microsoft différent indique que cette file d'attente ne peut contenir que 500 demandes). Une fois dépassé, la demande ASP de saisie ultérieure sera refusée et le message d'erreur est renvoyé en tant que serveur trop occupé.
La touche primaire AsproceStorthReadMax et la clé primaire AsprequestqueueMax peuvent être programmées à l'aide d'objets de gestion IIS et ADSI. Par exemple, dans un projet EXE standard, reportez-vous à la bibliothèque de types DS active et écrivez le code suivant:
Dim mywebserver comme actif.
Définissez mywebserver = getoject (iis: // localhost / w3svc)
Mywebserver.put asprocessorthreadmax, 30
Mywebserver.put asprequestqueuemax, 1500
Mywebserver.setinfo
Voici un bref résumé de la façon dont le pool de threads ASP fonctionne dans IIS installé par défaut sur un seul ordinateur de processeur. Ce pool de threads dispose de 25 fils d'assistance STA disponibles pour chaque processeur. Lorsqu'une demande arrive, elle est placée dans la file d'attente de demande. ASP-Runtime planifie un thread STA inactif du pool de threads, si l'on est disponible (notez que ce schéma permet à n'importe quel thread dans le pool de threads pour traiter la demande). S'il n'y a pas de threads d'assistance gratuits, la demande sera ajoutée à la file d'attente. Tant que la file d'attente n'atteint pas la capacité maximale par défaut, toutes les demandes seront traitées.
Programmation Application distribuée avec Visual Basic 6.0 de Ted Pattison
Partage: fonctionnalités techniques et méthodes d'utilisation de l'ASP Il y a quelques années, le seul canal de l'industrie pour la version dynamique de la page d'accueil était le modèle CGI (interface commun de Ga Teway). Bien que les solutions techniques ultérieures telles que ISAPI, NSAPI et JDBC se soient améliorées par rapport à CGI, ces solutions sont toujours mesurées à partir de la réalité technique du réseau d'entreprise (Intranet).