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.
This commit is contained in:
parent
26b40cf7a1
commit
10f325cc26
|
|
@ -43,13 +43,13 @@ namespace FruitBankHybrid.Shared.Services.SignalRs
|
|||
/// </summary>
|
||||
public event Func<int, SignalResponseDataMessage?, Task> 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>
|
|||
#if DEBUG
|
||||
if (FruitBankConstClient.SignalRSerializerDiagnosticLog)
|
||||
{
|
||||
SignalResponseDataMessage.DiagnosticLogger = message => { Console.WriteLine(message); };
|
||||
//SignalResponseDataMessage.DiagnosticLogger = message => { Console.WriteLine(message); };
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue