Tjena! HEJ! He he he..Remoting och events mellan klienter
Jag har efter lite om och men fått remoting att fungera på det sätt som jag vill ha det. Jag har två klienter och en Host för en komponent och de två klienterna byter värden med varandra genom den gemensamma komponenten.
Båda klienterna och hosten är winforms-applikationer.
Det hela fungerar "smöget" (som man säger i gbg) men nu har jag ett litet problem: Jag vill skicka events mellan de olika klienterna.
Jag får naturligtvis events att fungera mellan en klient och min host-applikation men hur ska jag göra om jag vill trigga events mellan de två klienterna? Finns det någon smidig lösning som jag missat??
Lite hjälp på vägen är att jag har en egen klass i den komponent som min host kör. Denna klass ärver från MarshalByRef och har dessutom attributet Serializable. Den exponerar två properties (som fungerar att anropa) och två events.
Hosten kör följande kod för att samköra komponenten mellan olika instanser:
<code>
Dim _tcpChannel As New TcpChannel(1099)
ChannelServices.RegisterChannel(_tcpChannel)
RemotingServices.Marshal(New myRemoteComponent.Component, "Component")
</code>
Min ena klient sätter egenskapen och den andra läser ut den; funkar som en dans men om jag försöker registrera ett event i en klient får jag ett SecurityException (!?).
Klientens kod för anrop till komponenten är:
<code>
Me.InstansieradKomponent = Activator.GetObject(InstanieradComponent.GetType(), "tcp://127.0.0.1:1099/Communicator")
</code>
Ville du ha mer info är det bara att säga till.
//Mikael SandSv: Remoting och events mellan klienter
Är intresserad av din lösning mellan programmen.
Skulle gärna vilja att du delar med dig av dina program.
/AlexanderSv: Remoting och events mellan klienter
Företagshemligheter :-)
Nej, saken är allvarligt på följande sätt. Jag vet vad jag har gjort och jag vet ungefär varför jag gör som jag gör MEN (och det är ett stort jekla men) jag kan inte riktigt förklara varför jag inte gjort på ett visst sätt.
För att kunna lära ut något måste man motivera ett visst handlande och det kan jag inte.
Till det hela hör att jag är lite rädd om mitt "namn" eller rykte och jag vill inte publicera något jag inte riktigt kan stå för. Om det dyker upp någon som vet bättre och kan tala om att det jag gjort är synnerligen obegåvat så smittar det av på mig.
Kanske man skulle vara anonym som du ??
Ett litet tillägg är också att jag efter mycket prövande helt gett upp och låter istället klienterna enbart kommunicera via sin host och utan att kunna ha events, tyvärr. Det funkar i alla fall men inte lika bra.
//Mikael Sand