From 10f325cc269a44e97e6a08bcda3656cd6b1b0302 Mon Sep 17 00:00:00 2001 From: Loretta Date: Thu, 9 Apr 2026 08:12:50 +0200 Subject: [PATCH] Refactor SignalR binary protocol for extensibility - Move SignalParams-aware deserialization logic from AcBinaryHubProtocol to new AyCodeBinaryHubProtocol, enabling project-specific customization. - Make key deserialization and helper methods in AcBinaryHubProtocol protected and virtual for easier extension. - Improve byte[] handling to distinguish between AcBinary-serialized and raw data. - Remove diagnostic serialization verification from the base protocol. - Update DI registration to use AyCodeBinaryHubProtocol with configurable options. - Adjust client code to support object-based response data and raw byte handling. - Comment out SignalResponseDataMessage diagnostic logger in Program.cs. --- .../Services/SignalRs/FruitBankSignalRClient.cs | 4 ++-- FruitBankHybrid.Web.Client/Program.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs b/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs index eabe0412..06625878 100644 --- a/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs +++ b/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs @@ -43,13 +43,13 @@ namespace FruitBankHybrid.Shared.Services.SignalRs /// public event Func OnMessageReceived = null!; - protected override async Task MessageReceived(int messageTag, SignalParams signalParams, SignalData data) + protected override async Task MessageReceived(int messageTag, SignalParams signalParams, object data) { var responseDataMessage = new SignalResponseDataMessage { Status = signalParams.Status, DataSerializerType = AcSerializerType.Binary, - ResponseData = data + RawResponseData = data }; await OnMessageReceived(messageTag, responseDataMessage); } diff --git a/FruitBankHybrid.Web.Client/Program.cs b/FruitBankHybrid.Web.Client/Program.cs index 98dde718..7691ea0a 100644 --- a/FruitBankHybrid.Web.Client/Program.cs +++ b/FruitBankHybrid.Web.Client/Program.cs @@ -34,7 +34,7 @@ builder.Services.AddSingleton #if DEBUG if (FruitBankConstClient.SignalRSerializerDiagnosticLog) { - SignalResponseDataMessage.DiagnosticLogger = message => { Console.WriteLine(message); }; + //SignalResponseDataMessage.DiagnosticLogger = message => { Console.WriteLine(message); }; } #endif