.NET 1.1 Strage remoting problem
-
Hello, I've created a class that can be used with the remoting framework. I've tested several methods and properties and all works well, except for one method. I don't know why, but I can see in the log file that the call for the property is made successfull. The other functioncall is made (I see it in the log file), but is never received by the server. The receive message entry doesn't appear in the log file. Here is the class definition:
// The client side
internal interface IChannelEnd //: System.Runtime.Serialization.ISerializable
{
/*
Description:
Called by the start of the channel when data is send.
*/
void ReceiveData(object oData /* The data that is send. */);/\* Description: A unique identifier of this end of the channel. \*/ string ID { get; } event OnReceiveDataDelegate EvReceiveData;
}
Both log files: Server side: The property Message start> Server Sync: __Uri = /ChannelEnd __MethodName = get_ID __MethodSignature = __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Args = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext Message finish> Server Sync: __Uri = /ChannelEnd __MethodName = get_ID __MethodSignature = System.Type[] __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Return = 145.85.150.44:10005 __OutArgs = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext // Server side: The method call Message start> Server Sync: __Uri = /ChannelEnd __MethodName = ReceiveData __MethodSignature = __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Args = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext Message finish> Server Sync: __Uri = /ChannelEnd __MethodName = ReceiveData __MethodSignature = System.Type[] __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Return = System.Void __OutArgs = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext The client side: Property Message start> Server Sync: __Uri
-
Hello, I've created a class that can be used with the remoting framework. I've tested several methods and properties and all works well, except for one method. I don't know why, but I can see in the log file that the call for the property is made successfull. The other functioncall is made (I see it in the log file), but is never received by the server. The receive message entry doesn't appear in the log file. Here is the class definition:
// The client side
internal interface IChannelEnd //: System.Runtime.Serialization.ISerializable
{
/*
Description:
Called by the start of the channel when data is send.
*/
void ReceiveData(object oData /* The data that is send. */);/\* Description: A unique identifier of this end of the channel. \*/ string ID { get; } event OnReceiveDataDelegate EvReceiveData;
}
Both log files: Server side: The property Message start> Server Sync: __Uri = /ChannelEnd __MethodName = get_ID __MethodSignature = __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Args = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext Message finish> Server Sync: __Uri = /ChannelEnd __MethodName = get_ID __MethodSignature = System.Type[] __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Return = 145.85.150.44:10005 __OutArgs = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext // Server side: The method call Message start> Server Sync: __Uri = /ChannelEnd __MethodName = ReceiveData __MethodSignature = __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Args = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext Message finish> Server Sync: __Uri = /ChannelEnd __MethodName = ReceiveData __MethodSignature = System.Type[] __TypeName = SerializationLayer.IChannelEnd, Serialization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null __Return = System.Void __OutArgs = System.Object[] __CallContext = System.Runtime.Remoting.Messaging.LogicalCallContext The client side: Property Message start> Server Sync: __Uri
Well I finally solved the problem. The problem were the objects that I send across the network:
//This was wrong:
[System.Serializable]
class WrongClass
{
// ...
}//This is the right way:
[System.Serializable()]
class RightClass
{
// ...
}Behind every great black man... ... is the police. - Conspiracy brother Blog[^]
-
Well I finally solved the problem. The problem were the objects that I send across the network:
//This was wrong:
[System.Serializable]
class WrongClass
{
// ...
}//This is the right way:
[System.Serializable()]
class RightClass
{
// ...
}Behind every great black man... ... is the police. - Conspiracy brother Blog[^]
You mean the class names were wrong or the attribute? If the latter, they are both the same... xacc.ide-0.1 released! Download and screenshots
-
You mean the class names were wrong or the attribute? If the latter, they are both the same... xacc.ide-0.1 released! Download and screenshots
The attribute was wrong. I know that they 'should' be the same, but without the parenthesis, it won't work and with the parenthesis, it works.. :confused: I guess that this is a bug somewhere in the runtime or something. Maybe I'll notify MS about it. Behind every great black man... ... is the police. - Conspiracy brother Blog[^]