2010-02-18 7 views
5

Quelle est la définition exacte de Runtime Host?Quel est exactement l'hôte d'exécution?

From MSDN:

Le Common Language Runtime a été conçu pour soutenir une variété de différents types d'applications, à partir d'applications de serveur Web pour les applications avec une riche traditionnelle interface utilisateur Windows. Chaque type d'application nécessite un hôte d'exécution pour le démarrer. L'hôte d'exécution charge l'environnement d'exécution dans un processus, crée les domaines d'application dans le processus et charge le code utilisateur dans les domaines d'application.

Est-ce un processus qui charge le runtime dans un autre processus?
Comment puis-je le vérifier dans le Gestionnaire des tâches?

Répondre

6

Non, c'est un processus qui charge les DLL d'exécution (par exemple mscoree.dll, etc.) dans son espace de traitement.

Il n'y a donc qu'un seul espace de traitement.

Le runtime auquel il est fait référence est vraiment le .NET runtime ou CLR. Et d'un point de vue OS traditionnel simplifié, le CLR est vraiment juste un ensemble de DLL. Donc, vous avez besoin d'un processus OS pour charger et exécuter le point d'entrée de cette DLL. Ce hôte exécutable est votre hôte d'exécution. En réalité, l'hôte d'exécution .Net fait beaucoup de choses pour le CLR (Voir Hosting Overview)

Vous avez mentionné MSDN, donc je suppose que vous avez regardé Runtime Hosts là-bas. Vous pouvez voir les exemples qu'ils donnent sont tous des exécutables qui hébergent le CLR (DLLs).

Espérons que ça aide.

+0

donc est-il le chargeur d'OS qui fraye le processus d'accueil? – Southsouth

+1

Oui, le processus d'hébergement est commencé comme tout autre processus. Fondamentalement, ce qui en fait un hôte d'exécution. Net, c'est qu'il charge le CLR. – kervin

3

Cet article peut vous aider: Implementing a custom runtime host. Il aborde les différents aspects de l'hôte et quand/pourquoi vous voudrez peut-être mettre en place le vôtre.

directement Lifted de l'article:
exemples d'hôtes qui sont livrés avec le .NET Framework comprennent:

  • ASP.NET: Un filtre ISAPI livré avec ASP.NET est responsable de démarrage de la CLR et initialisation de la plomberie nécessaire pour acheminer les demandes Web vers les processus ASP.NET.
  • Internet Explorer: Les navires .NET Framework avec un filtre MIME qui accroche dans Internet Explorer 5.01 ou version ultérieure pour exécuter du code managé contrôle qui sont référencées à partir des pages HTML.
  • Shell Exécutables: Chaque fois qu'un exécutable est lancé à partir de la coque , un petit morceau de non géré le code obtient argué du fait que les transitions contrôle du CLR.

D'autres hôtes pourraient inclure:

  • SGBDR Une future version de Microsoft SQL Server permettent les procédures stockées à écrire dans langues qui prennent en charge le .NET Framework et sont exécutés avec le CLR.
  • Organisateurs personnels Plusieurs e-mail/calendrier/programmes de contact permettent aux utilisateurs d'écrire des scripts pour personnaliser le traitement des messages, rendez-vous e-mail , et ainsi de suite. Il est facile d'imaginer ces scripts en cours d'exécution sur le CLR. Le système de sécurité fourni par le CLR est particulièrement important dans ce scénario en raison de la prolifération des virus propagés par les systèmes de courrier électronique.
+0

L'article (de 2001) est un peu daté; par exemple la « future version de SQL Server ... » existe: vous n'avez plus d'écrire du code T-SQL pour faire du développement de la base de données. –

+0

D'accord. Je viens de l'attraper rapidement de google. :) – GrayWizardx