Domaine d'application vs Processus [Résolu]

t00f 64 Messages postés lundi 21 avril 2008Date d'inscription 23 octobre 2009 Dernière intervention - 25 avril 2008 à 16:35 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 30 avril 2008 à 23:52
Bonjour à tous,


Je suis actuellement en train de réaliser une application perso et j'ai
du mal à comprendre ce qu'est réellement un domaine d'application en
.Net.


D'après ce que j'ai pu comprendre, le domaine d'application est un
contexte dans lequel on lance des programmes (assemblys). Ce que je ne
comprends pas, c'est quelle est l'utilité d'un domaine d'application ?
Faut il le préférer à un processus ?


Exemple concrêt : J'ai un service qui vérifie toutes les minutes, si
une tâche est à executer. Si il y'a une tâche à executer, il lance une
nouvelle application (une sorte de TodoList). Pour le moment, je lance
ma todolist à l'aide de l'objet Process, en faisant un
Process.Start(...);


Cela est-il correct ou dois-je plutot utiliser un domaine d'application ? Pourquoi ?


Merci d'avance,


A+.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 26 avril 2008 à 22:52
3
Merci
Salut,

Le domaine d'application fourni un niveau d'isolation supplémentaire.
De manière simple je pense que tu peux te représenter le domaine d'application comme un "processus léger" dans le processus réel, qui peut être déchargé sans pour autant terminer le processus.

Un exemple connu d'utilisation des domaines d'application est l'hébergement d'applications web ASP.NET (sites, web services, ...) : sur du IIS pré-6.0, chaque application est hébergée dans un domaine d'application qui lui est propre dans le processus aspnet_wp.exe.
Sous IIS 6.0 et sup avec le principe de pool d'application ces applications sont hébergée de la même manière mais dans un processus w3wp.exe séparé suivant le pool d'application dans laquelle l'application web est placée.

Pour de plus amples informations tu peux démarrer par la page de la documentation de la classe AppDomain mais aussi par ce post de Chris Brumme : AppDomains ("application domains")

/*
coq
MVP Visual C#
CoqBlog
*/

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_coq
t00f 64 Messages postés lundi 21 avril 2008Date d'inscription 23 octobre 2009 Dernière intervention - 28 avril 2008 à 09:58
0
Merci
Merci beaucoup ;)
Cela me parait beaucoup plus clair.

Cependant j'ai tout de même un cas concrêt à demander :
Je dois créer une application qui tourne en arrière plan et qui vérifie continuellement si une autre application (de la même solution) est lancée ou non, et si elle doit être lancée.
1) La première (celle qui check la seconde) est lancée à partir de la méthode Thread.start qui me permet de définir un thread avec une priorité élevée et qui évite que l'OS ne le supprime.
2) La deuxieme est lancée par la premier, par un autre Process.start. Cette action pointe sur l'executable de la 2e application.

Est-il préférérable d'utiliser les domaines d'applications dans ce cas là ?
Si je suis dans un Compact Framework, est-ce que tu penses toujours pareil ?

Merci beaucoup !
Commenter la réponse de t00f
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 30 avril 2008 à 23:52
0
Merci
Moi et le développement en CF sur Pocket & co, ça fait 2.
Tu devrais peut être voir sur PDAFr.com (même compte utilisateur).

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.