>>ein client kann ja beim ss-remotingansatz keine objekte von seinem clientkontext in den serverkontext übergeben, d.h. ich muß die erzeugung von instanzen, mit denen der server arbeiten soll sowieso beim server beauftragen. <<
Natürlich kann der Cleint Objekte übergeben, entweder MBV oder MBR (obwohl das zweite meistens nicht so günstig ist, weil der Server dann mit dem Client verbinden muss).
Mhmm, ich bekomme da aber exeptions geworfen:
Public Class ClientContext
Private Sub Test ()
Try
'//// Me._Session.ObjectFactory.get_Mitarbeiter kommt vom Host
'///// sind alles MBR Objekte
Dim myMab As Mitarbeiter = _
Me._Session.ObjectFactory.get_Mitarbeiter.Items(0)
'///// hier kommt die exeption:
Me._Session.ObjectFactory.get_Mitarbeiter.Add(myMab)
Catch ex As Exception
Me.Log.Message(Me._Session, ex)
MsgBox(ex.ToString)
End Try
End Sub System.Runtime.Serialization.SerializationException: Auf den Typ _
'System.Runtime.Remoting.ObjRef' kann aufgrund von Sicherheitseinschränkungen _
nicht zugegriffen werden. ---> System.Security.SecurityException: Anfrage _
fehlgeschlagen.
at System.Security.SecurityRuntime.FrameDescSetHelper( _
FrameSecurityDescriptor secDesc, PermissionSet demandSet, PermissionSet& _
alteredDemandSet)
at _
System.Runtime.Serialization.FormatterServices.nativeGetSafeUninitializedObj_
ect(RuntimeType type)
at System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject( _
Type type)
--- Ende der internen Ausnahmestapelüberwachung ---
Server stack trace:
at System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject( _
Type type)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject( _
ParseRecord pr)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse( _
ParseRecord pr)
at _
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWith_
MapTyped(BinaryObjectWithMapTyped record)
at _
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWith_
MapTyped(BinaryHeaderEnum binaryHeaderEnum)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize( _
HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, _
IMethodCallMessage methodCallMessage)
at _
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize( _
Stream serializationStream, HeaderHandler handler, Boolean fCheck, _
IMethodCallMessage methodCallMessage)
at _
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.UnsafeDeseria_
lize(Stream serializationStream, HeaderHandler handler)
at _
System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMessage( _
String objectUri, Stream inputStream, Boolean bStrictBinding, _
TypeFilterLevel securityLevel)
at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage( _
IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders _
requestHeaders, Stream requestStream, IMessage& responseMsg, _
ITransportHeaders& responseHeaders, Stream& responseStream)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage _
reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& _
msgData, Int32 type)
at ApsisPlus.BusinessTier.ListBase.Add(Object value)
at ApsisPlus.frmTest.frmTest_Load(Object sender, EventArgs e) in _
C:\Code\Micke\ApsisPlus\branches\ApsisPlus\Applikations\Test\frmTest.vb:li_
ne 67 Micke |