The current implementation of the SocketIOMessagePackSerializer does not correctly deserialize message data. Specifically, it fails to recognize and map the data to the corresponding fields, even when key attributes are utilized.
Steps to Reproduce:
Define a MessagePack object, like the MessagePackUserDto class shown below:
[MessagePackObject]
public class MessagePackUserDto
{
[Key("username")]
public string Username { get; set; } = null!;
[Key("email")]
public string Email { get; set; } = null!;
}
Receive a message from the server with data like this:
Attempt to deserialize the received data using the GetValue<MessagePackUserDto>() method.
Actual Behavior:
Currently, the GetValue<T>() method does not properly map the received data to the class. Instead, it results in an instance of class with fields initialized to null, even when the key attributes are used.
The current implementation of the
SocketIOMessagePackSerializer
does not correctly deserialize message data. Specifically, it fails to recognize and map the data to the corresponding fields, even when key attributes are utilized.Steps to Reproduce:
Define a MessagePack object, like the MessagePackUserDto class shown below:
GetValue<MessagePackUserDto>()
method.Actual Behavior:
Currently, the
GetValue<T>()
method does not properly map the received data to the class. Instead, it results in an instance of class with fields initialized to null, even when the key attributes are used.