@@ -79,7 +79,21 @@ await _subscriber.SubscribeAsync($"cluster:node:{_nodeId}", (channel, message) =
7979 {
8080 try
8181 {
82- var clusterMessage = JsonSerializer . Deserialize < ClusterMessage > ( message ) ;
82+ // RedisValue needs to be converted to string / RedisValue 需要转换为字符串
83+ var messageJson = message . ToString ( ) ;
84+ if ( string . IsNullOrEmpty ( messageJson ) )
85+ {
86+ _logger . LogWarning ( "Received empty message from Redis" ) ;
87+ return ;
88+ }
89+
90+ var clusterMessage = JsonSerializer . Deserialize < ClusterMessage > ( messageJson ) ;
91+ if ( clusterMessage == null )
92+ {
93+ _logger . LogWarning ( "Failed to deserialize cluster message from Redis" ) ;
94+ return ;
95+ }
96+
8397 MessageReceived ? . Invoke ( this , new ClusterMessageEventArgs
8498 {
8599 FromNodeId = clusterMessage . FromNodeId ,
@@ -97,7 +111,21 @@ await _subscriber.SubscribeAsync("cluster:broadcast", (channel, message) =>
97111 {
98112 try
99113 {
100- var clusterMessage = JsonSerializer . Deserialize < ClusterMessage > ( message ) ;
114+ // RedisValue needs to be converted to string / RedisValue 需要转换为字符串
115+ var messageJson = message . ToString ( ) ;
116+ if ( string . IsNullOrEmpty ( messageJson ) )
117+ {
118+ _logger . LogWarning ( "Received empty broadcast message from Redis" ) ;
119+ return ;
120+ }
121+
122+ var clusterMessage = JsonSerializer . Deserialize < ClusterMessage > ( messageJson ) ;
123+ if ( clusterMessage == null )
124+ {
125+ _logger . LogWarning ( "Failed to deserialize cluster broadcast message from Redis" ) ;
126+ return ;
127+ }
128+
101129 if ( clusterMessage . FromNodeId != _nodeId )
102130 {
103131 MessageReceived ? . Invoke ( this , new ClusterMessageEventArgs
0 commit comments