Remoting: Bekomme ständig eine SerializationException

d-snake

Grünschnabel
Hi Leute,

ich will ein kleines Client-Server Tool schreiben, mit welchem ich mir Screenshots von den Clients an den Server senden lassen kann. Leider tritt immer folgender Fehler auf:

Eine nicht behandelte Ausnahme des Typs 'System.Runtime.Serialization.SerializationException' ist in mscorlib.dll aufgetreten.

Zusätzliche Informationen: Auf den Typ 'System.Runtime.Remoting.ObjRef' kann aufgrund von Sicherheitseinschränkungen nicht zugegriffen werden.

Hier erstmal die Sourcen:

Server
Code:
    Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
        Dim _channel As New TcpChannel(Int32.Parse(txtPort.Text)) 'channel instanzieren
        ChannelServices.RegisterChannel(_channel) 'channel registrieren

        RemotingConfiguration.RegisterWellKnownServiceType(GetType(ServerFunctions), _
            "test.rem", _
            WellKnownObjectMode.SingleCall)
    End Sub

Client
Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim _channel As New TcpChannel(0)
        ChannelServices.RegisterChannel(_channel)

        RemotingConfiguration.RegisterWellKnownClientType(GetType(MainFunctions.ITest), _
            "tcp://" & txtServer.Text & ":" & txtPort.Text & "/test.rem")

        Dim test As MainFunctions.ITest

        test = Activator.GetObject(GetType(MainFunctions.ITest), _
            "tcp://" & txtServer.Text & ":" & txtPort.Text & "/test.rem")

        Dim get_local_scrn As New ClassScreenshot.CaptureScreen
        test.send_screenshot(get_local_scrn.GetDesktopImage)

    End Sub

Die Schnittstelle

Code:
Public Interface ITest
    Sub send_screenshot(ByVal bm As Drawing.Bitmap)
End Interface

Im Serverprojekt gibt es zwar noch eine Klasse mit der Programmlogik, jedoch steht in dieser zur Zeit nichts drin.

Der Fehler tritt immer beim Aufruf der Methode 'test.send_screenshot' im Client auf.

Mir ist aufgefallen, dass wenn ich als Parameter eine Variable vom Typ String übergebe, dass dieser Fehler nicht auftritt(Aktueller Typ: System.Drawing.Bitmap). Im MSDN steht jedoch, dass die Klasse Bitmap <Serializable()> ist.

Kann mir jemand sagen woran das liegt oder hab ich das mit dem Remoting noch nicht ganz verstanden.
 

Neue Beiträge

Zurück