Eventi in c#

lunedì 01 ottobre 2007 - 08.13

pa_squalo Profilo | Newbie

ciao a tutti
questo è il primo post e spero di essere chiaro nel porvi la mio problema.
Devo realizzare in c#.NET due applicazione (exe) che si scambiano tra loro eventi. So come funzionano gli eventi ma non so come farli passare da un exe a un altro.

Vi ringrazio anticipatamente
Pasquale

SSUPERPIPPO Profilo | Guru

Cosa intendi passare da un'applicazione ad un'altra?
Fai un esempio concreto...

http://blogs.dotnethell.it/alebadalin

pa_squalo Profilo | Newbie

Ti ringrazio per la tua partecipazione.
Ho un primo exe che genera un evento ogni 10 secondi tramite la seguente funzione.

public static void OnClockTick(object sender, ClockTimerArgs e)
{
funzioneAltroExe( e.TickCount);
}

L'evento porta con se una struttura dati ClockTimerArgs che deve essere passata
ad un' altra funzione del secondo eseguibile che gira contemporaneamente sullo stesso PC.
Come faccio a rendere visibile la funzione funzioneAltroExe(e) sul primo eseguibile?
E quando la chiamo, come fa ad attivarsi nel secondo eseguibile?
Spero di essermi chiarito.

SSUPERPIPPO Profilo | Guru

Non credo proprio che si possa fare.

Al limite da un applicazione puoi avviarne un'altra passandogli dei parametri... ma che tu possa richiamare funzioni da un'altro applicativo mi sembra decisamente non fattibile.

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

munissor Profilo | Senior Member

La cosa non è immediata. O usi il remoting (che se l'evento è solo un timer è troppo pesantuccio) oppure le alternative sono usare gli strumenti di IPC (es: Named pipes di windows, non so se esiste un corrispondente .NET) oppure spedire messaggi tra le finestre (registri un messaggio tramite RegisterWindowMessage nelle due applicazioni e poi trovi un modo per scambiare il messaggio, il modo più semplice ma meno efficace è fare un broadcast)

pa_squalo Profilo | Newbie

Ho risolto utilizzando la Message Queue (MSMQ) con trasmissione asincrona poichè utilizza gli eventi.

Ciao
Pasquale
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5