t00f
Messages postés64Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention23 octobre 2009
-
25 avril 2008 à 16:35
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
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 ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 26 avril 2008 à 22:52
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")
t00f
Messages postés64Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention23 octobre 2009 28 avril 2008 à 09:58
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 ?