Je reçois demandé sur les domaines d'application dans les entretiens, et je connais les principes de base:
- ils sont un niveau d'isolement au sein d'une application (ce qui les rend différents de demandes)
- ils peuvent avoir des threads (ce qui les rend différents de threads)
- exceptions dans un domaine d'application n'affectent pas l'autre
- domaines d'application ne peut pas accéder aux autres de la mémoire
- chaque domaine d'application peut avoir différentes de la sécurité
Je ne comprends toujours pas ce qui les rend nécessaires. Je suis à la recherche d'un raisonnable béton circonstance lorsque vous utilisez un.
Réponses:
- Code non fiable
- Application de base protégés
Non approuvé/3ème partie, les plugins sont empêchés de corruption de la mémoire partagée et les accès non-autorisé à un registre ou le disque dur par l'isolement dans l'appdomain séparé avec des restrictions de sécurité, la protection de l'application ou du serveur. par exemple ASP.NET et SQL Serveur hébergeant le code du composant
- Application de base protégés
- Le code de confiance
- La stabilité
Demande segmentée en coffre-fort, indépendant des caractéristiques/fonctionnalités - La souplesse architecturale
La liberté d'exécuter plusieurs applications au sein d'un seul CLR instance ou de chaque programme dans son propre.
- La stabilité
Quelque chose d'autre?