Laden...

Remoting Problem (SerializationException)

Erstellt von Floyd vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.854 Views
Floyd Themenstarter:in
85 Beiträge seit 2006
vor 17 Jahren
Remoting Problem (SerializationException)

Ich hab ein Problem,

ich hab mir von dieser Seite http://www.tutorials.de/forum/net-tutorials/77884-remoting-wie-programmiere-ich-einen-chatserver.html das Beipiel für eine ChatServer via Remoting angeschaut. Das Projekt ließ sich ohne weiteres für 2.0 convertieren und nun wollte ich es einmal starten. Leider bekomm ich auch nach mehreren Stunden googlen nicht raus wieso so ich beim Client in der Funktion connect bei "remServer._login(myClient);" den Fehler "Auf den Typ System.Runtime.Remoting.ObjRef kann aufgrund von Sicherheitseinschränkungen nicht zugegriffen werden." bekomme. Ich hab beide Programme bei mir local auf einem Rechner laufen. Wenn ich dem Client beim Connection die IP 127.0.0.1 übergebe kommt der Fehler. Wenn ich ihm aber die IP-Adresse übergebe die ich derzeit habe mäckert er rum das ich die IP-Adresse nur einmal vergeben darf. 8(

Ich würde mich freuen wenn mich einer aufklären kann.

gruß floyd

"...denn wir arbeiten nicht nur um uns selbst zu verbessern, sondern auch den Rest der Menschheit!"

blog.freakfabrik.net

3.728 Beiträge seit 2005
vor 17 Jahren
TypeFilterLevel auf Full setzen

Du musst den TypeFilterLevel auf Full setzen. Hier ein Beispiel: .Net Remoting -Fehler?

Remoting verhindert aus Sicherheitsgründen standardmäßig, dass komplexe Objekte übertragen werden. Du musst per Remoting-Konfiguration deshalb explizit freigeben, dass komplexe Typen via Remoting serialisiert werden dürfen.

Dieses "Problem" besteht seit dem .NET Framework 1.1.

Floyd Themenstarter:in
85 Beiträge seit 2006
vor 17 Jahren

ja das hab ich gemacht. hat leider nix gebracht. in dem link siehst du ganz unten die config-einträge die ich in die Name.ex.config und in die app.config geschrieben habe.

gruß floyd

"...denn wir arbeiten nicht nur um uns selbst zu verbessern, sondern auch den Rest der Menschheit!"

blog.freakfabrik.net

Floyd Themenstarter:in
85 Beiträge seit 2006
vor 17 Jahren

Oky ich hab mir das Video was du in dem Beitrag verlinkt hattest mal angeschaut und fands recht interessant.

Werd mich mal an die Implementierung machen. Vieleicht bekomm ich das besser zum laufen. Eine Frage hab ich jedoch vorweg. Ich hab gehört das HTTP-Channels besser im zusammenhang mit Firewalls funktioneren sollen. Ich hätte gerne dazu ein Statement was ich nehmen soll. TCP, HTTP oder ICP. Ziel ist es eine Art Proxy für den Datenbankzugriff zu schreiben damit ich sicherstellen kann wer auf welche Daten zugriff hat und wer nicht. Die Applikation soll relativ weit verbreitet werden (ca. 80 Nutzer stehen bisher fest) welche alle über das Internet auf den "Server-Prozess" auf meinem Root-Server zugreifen sollen. Dabei sind natürlich Router, Firewalls etc. möglichst ohne Konfigurationsänderungen zu überbrücken. dh. ich möchte nicht für 80 Leute den Support übernehmen und ihnen erklären mussen wie sie ihren router oder ihre firewall einstellen müßen um eine verbindung aufbauen zu können. was ist also für meinen einsatzweck die beste methode?

MFG Floyd

"...denn wir arbeiten nicht nur um uns selbst zu verbessern, sondern auch den Rest der Menschheit!"

blog.freakfabrik.net

3.728 Beiträge seit 2005
vor 17 Jahren
Internet

Bei Kommunikation übers Internet solltest Du Remoting GAR NICHT verwenden. Remoting ist nur fürs LAN zu gebrauchen (Natürlich kann man auch auf einer Kuh reiten, aber ein Pferd macht mehr Sinn). Microsoft empfiehlt, Remoting nicht übers Internet einzusetzen.

Nimm WCF (Windows Communication Foundation; Bestandteil des .NET Framework 3.0). WCF kann wesentlich mehr als Remoting und ist vor allem auch für die sichere Kommunikation übers Internet geeignet. Das Programmier-Modell ist Remoting sehr ähnlich. Mit Remoting-Kenntnissen solltest Du mit WCf keine Probleme haben.

Hier gibts Infos zu WCF: Schulungsvideo zu WCF (Indigo)

Floyd Themenstarter:in
85 Beiträge seit 2006
vor 17 Jahren

@Rainbird, danke für die Info. .Net 3.0 kommt imoment nicht für mcih in Frage. Hab das Projekt mittels WebService realisiert und musste festsellen bzw. war ich verblüft wie einfach dies ging. Zusammen mit ein paar sachen die man beachten muss zum thema sicherheit hat es prima geklappt.

Gruß Floyd

"...denn wir arbeiten nicht nur um uns selbst zu verbessern, sondern auch den Rest der Menschheit!"

blog.freakfabrik.net