ich habe ein Problem mit dem Remoting. Manche Objekte lassen sich einfach nicht übertragen. Folgende Exception kommt wenn ich versuche eine Variable vom Typ Bitmap als Parameter zu übertragen.
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.
Das kuriose ist, wenn ich den Typ des Parameters als String angebe funktioniert es.
Laut MSDN sollte es funktionieren, da Bitmap serialisierbar ist.
Hier der Code des Projekts (ist zwar VB, aber ich denke es ist erkennar) :
Server
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
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) ' <-- ! FEHLER !
End Sub
Interface
Public Interface ITest
Sub send_screenshot(ByVal bm As Drawing.Bitmap)
End Interface
In dem Serverprojekt liegt auch noch eine Programlogik-Klasse, welche jedoch leer ist.
Der fehler tritt auf, wenn ich auf der Clientseite versuche die Methode send_screenshot aufzurufen.
Woran könnte das liegen? Wie schon oben gesagt, funktioniert es, wenn ich anstatt Bitmap String als Parametertyp nehme.
Ich hoffe mir kann einer bei dem Problem helfen.