Funzione Shell o la classe diagnostic.process.start?

venerdì 15 settembre 2006 - 15.12

defelix Profilo | Newbie

Ciao a tutti.
Devo realizzare una applicazione che dovrebbe essere configurabile da un utente amministratore e gestibile, con privilegi differenti, da utenti "user power". Il compito principale del programma consiste nel gestire il lancio di diversi eseguibili e monitorarne l'esecuzione, periodicamente durante la giornata, e fornire inoltre agli stessi software i dati necessari come input.
Volevo sapere se per lanciare l'esecuzione dei programmi conviene utilizzare la funzione shell o la classe diagnostic.process.
Grazie
defelix

19018 Profilo | Expert

Sicuramente diagnostic.process.

ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/

defelix Profilo | Newbie

grazie tanto per la risposta immediata.
A questo punto ti chiedo anche se utilizzando la classe diagnostic.process devo prevedere di usare dei thread nel lanciare i programmi?
defelix

19018 Profilo | Expert

No, tutto avviene in maniera trasparente.Ti basta usare Diagnostic.Process.Start e verra lanciato un processo (non un thread).ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/

defelix Profilo | Newbie

grazie tanto
defelix

19018 Profilo | Expert

Per favore chiudi il post se non hai altre domande.ciao e grazie a te!

Stefano Passatordi

http://blogs.dotnethell.it/stem/

paolopat Profilo | Junior Member

credo che comunque verrà lanciato un processo con un unico thread giusto ?

19018 Profilo | Expert

Si è giusto, ogni processo ha il suo main thread. Ma in casi come questo (monothread) si parla genericamente di processo.

Stefano Passatordi

http://blogs.dotnethell.it/stem/

defelix Profilo | Newbie

Se lancio più programmi contemporaneamente con diagnostic.process.start, sto usando di fatto più tread?oppure è un unico tread, il principale?


defelix

19018 Profilo | Expert

Process.Start avvia un processo, e se ne lanci vari sono tutti processi separati e indipendenti tra loro. Ognuno acquisirà le proprie risorse necessarie ed ognuno andrà in esecuzione tramite il proprio main thread.
ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/

paolopat Profilo | Junior Member

a proposito di questo discorso....avrei una curiosità : è vero che è possibile lanciare un unico processo ed istanziare all'interno diversi application domain per eseguire applicazioni diverse appunto con un solo processo ?

19018 Profilo | Expert

Verissimo, tramite il CLR è possibile lanciare pià applicazioni tramite un unico processo e ognuna con il suo application domain. Il CLR, in questo caso, ha il compito di isolare ogni applicazione dall'altra, isolando i vari application domain e facendo in modo che non interferiscano tra loro, rendendoli completamente indipendenti. L'unico modo per far comunicare i vari application domain, spostando oggetti da un application domain ad un altro, è l'utilizzo del remoting.
Spero di essere stato chiaro.

ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/

paolopat Profilo | Junior Member

si si grazie è stata una conferma....non conoscevo solo l'utilizzo del remoting...devo documentarmi.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5