DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: C# | Thema: AW: AW: Remoting in Microsoft .net -- Teil I | Von: Sebastian Lange ( 22.06.2007 16:21)

Leider hat das [Serializable] Attribut nichts verändert.
Die beiden folgenden Funktionen stammen aus meinen Modulen
und erledigen das bereitstellen und beziehen des Objects, vielleicht
habe ich da einen Fehler gemacht, Remoting ist neu für mich da ich eigentlich immer ein VB-Junkie war bisher.


// Die Funktion in der Server Anwendung auf localhost
// MyRemoteObject ist einer ausgelagerten DLL definiert
private int RegisterRemotingService(string sName, int lPort)
{
try
{
TcpChannel myChannel = new TcpChannel(lPort);
ChannelServices.RegisterChannel(myChannel);

RemotingConfiguration.RegisterWellKnownServiceType(
typeof(MyRemoteObject), sName, WellKnownObjectMode.Singleton);

myObj = (MyRemoteObject)Activator.GetObject(
typeof (MyRemoteObject),"tcp://localhost:" +
lPort.ToString() + "/" + sName);

myObj.Initialize("meinInitWert");
// für das beispiel her unrelevant aber
// dieser aufruf findet statt und funktioniert.
GlobalRef = myObj; // Eine InstanzRefrenz wird in
//einer glob.Variable beibehalten.

return lPort;

}
catch (Exception eArgument)
{
Console.WriteLine(eArgument.Message);
return -1;
}

}

// Die Funktion in der Client Anwendung auch auf localhost
// MyRemoteObject ist einer ausgelagerten DLL definiert
private MyRemoteObject GetRemotingService(string sName, int lPort)
{

try
{
MyRemoteObject myRObj =null;
myRObj = (MyRemoteObject )Activator.GetObject(
typeof(MyRemoteObject ),"tcp://localhost:" +
lPort.ToString() + "/" + sName);
return myRObj ;
}
catch(Exception e)
{
throw(e);
}
}


// Im Client passiert nun wie gesagt:
MyRemoteObject myR = GetRemotingService("MyRemote", 2098);

myR.HelloMethod("Hallo Welt");
// Eine Methode des Objects aufrufen klappt super.

myR.myCustomClassObject.HelloMethod("Hallo Welt");
// Hier greife ich auf ein Klassenobject zu das Member
// meines RemotingObjects ist und erhalte
// die Fehlermeldung bzgl. des Channels.

Kann sein das myCustomClassObject ebenfalls einen
eigenen Channel braucht?


Viele Grüsse
Ich hoffe mein Posting ist nicht zu gross und zu unübersichtlich.
Sebastian




Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG