Major overhaul for SignalR response pipeline: - All deserialization now uses byte[] (offset/length) for zero-copy, allocation-free operation; all span/memory overloads removed. - SignalR protocol sends (signalParams, object) directly; SignalData envelope and related logic removed. - Server sets SignalParams.SignalDataType so protocol deserializes to the correct runtime type on the client. - SignalResponseDataMessage now only used for client request/response tracking and stream path; RawResponseData holds the actual object. - All extension methods, helpers, and infrastructure updated to use new byte[]-based APIs. - AcSignalRDataSource and all test/benchmark code updated for new object flow. - Removes all diagnostics, logging, and error handling related to binary envelopes. - Enables true zero-copy, type-safe, allocation-free SignalR response handling. |
||
|---|---|---|
| .. | ||
| LoginServices | ||
| SignalRs | ||
| AyCode.Services.Server.Tests.csproj | ||
| InvokeMethodExtensionTests.cs | ||
| README.md | ||
| TestLogger.cs | ||
README.md
AyCode.Services.Server.Tests
@project { type = "test" }
Comprehensive server-side tests for SignalR communication, DataSource operations, login services, and reflection-based method invocation.
Folder Structure
| Folder | Purpose |
|---|---|
SignalRs/ |
Full SignalR client→hub→service test infrastructure |
LoginServices/ |
Login service test base classes |
Key Files (Root)
TestLogger.cs— Re-exports TestLogger from AyCode.Core.Tests.InvokeMethodExtensionTests.cs— Tests MethodInfo.InvokeMethod: sync, async Task unwrapping, Task.FromResult (production bug fix), non-generic Task, complex objects.