This message was discovered on microsoft.public.dotnet.framework.remoting.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.
| Stephane (VIP) |
Hi,
I've got a server using .Net remoting which send to the client (an ASP.net application) a hashtable. On the server side, my tests have shown no errors but when I try to loop in the hashtable on the client side, I've got this error:
The type System.ComponentModel.EventHandlerList in Assembly System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 is not marked as serializable. Source : mscorlib
What is this class for? How can I mark this as serializable??
My class throwing this error is quite simple. It's only containg a hashtable member and deriving from MarshalByRef class. I implement IDictionary, ISerializable, IDeserializationCallback, ICloneable Interfaces.
Inside this same C# file, I also have this class:
[Serializable] public class SerializableHashTable : Hashtable { /// <summary> /// Default constructor. /// </summary> public SerializableHashTable() : base() { }
/// <summary> /// Set the base constructor public. /// </summary> /// <param name="info">Serialization Info</param> /// <param name="context">Streaming Context</param> public SerializableHashTable(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}
Also, when I print the list count property I got from the remote server, It indicates a weird value like 898092342.
Any Idea of what the problem could be?
Thanks,
Stephane
|
|
| |
| |
| Stephane (VIP) |
Forget that... Just by using a IEnumerator instead of a foreach and it works...
Stephane
"Stephane" wrote:
[Original message clipped]
|
|
| |
|
|
|
|
|