Type
Description
PR #1399 (#1333) split AddMessagingServices and AddOutboxInboxSagaSchedulingServices in src/Encina.Messaging/MessagingServiceCollectionExtensions.cs into small per-pattern helpers (RegisterTransactions, RegisterRoutingSlips, RegisterRecoverability, RegisterContentRouter, RegisterScatterGather, RegisterSoftDeleteServices and the Outbox, Inbox, Saga and Scheduling helpers) to pass the CRAP gate. AddMessagingServicesCore in the same file, used by the ADO.NET tenancy extensions, still carries its own inline copies of the same conditional blocks, so the two paths can drift again, which is the defect class #1333 fixed.
Location
src/Encina.Messaging/MessagingServiceCollectionExtensions.cs, AddMessagingServicesCore.
Current Behavior
AddMessagingServicesCore duplicates the registration blocks that the new Register* helpers now own. It also re-checks flags that RegisterSoftDeleteServices, RegisterModuleIsolationServices and RegisterReadWriteSeparationServices now check themselves; this is harmless but redundant.
Expected Behavior
AddMessagingServicesCore calls the same Register* helpers, so every registration path shares one implementation per pattern.
Root Cause
#1399 kept its scope to the methods the CRAP gate flagged; AddMessagingServicesCore was not in the diff, so it kept the older inline form.
Proposed Fix
Replace the inline blocks in AddMessagingServicesCore with calls to the existing helpers, drop the redundant outer checks, and keep the ADO.NET tenancy DI tests green (together with #1398, which adds ValidateOnBuild DI tests for the ADO.NET and Dapper providers).
Priority
Effort Estimate
Related Issues
Type
Description
PR #1399 (#1333) split
AddMessagingServicesandAddOutboxInboxSagaSchedulingServicesinsrc/Encina.Messaging/MessagingServiceCollectionExtensions.csinto small per-pattern helpers (RegisterTransactions,RegisterRoutingSlips,RegisterRecoverability,RegisterContentRouter,RegisterScatterGather,RegisterSoftDeleteServicesand the Outbox, Inbox, Saga and Scheduling helpers) to pass the CRAP gate.AddMessagingServicesCorein the same file, used by the ADO.NET tenancy extensions, still carries its own inline copies of the same conditional blocks, so the two paths can drift again, which is the defect class #1333 fixed.Location
src/Encina.Messaging/MessagingServiceCollectionExtensions.cs,AddMessagingServicesCore.Current Behavior
AddMessagingServicesCoreduplicates the registration blocks that the newRegister*helpers now own. It also re-checks flags thatRegisterSoftDeleteServices,RegisterModuleIsolationServicesandRegisterReadWriteSeparationServicesnow check themselves; this is harmless but redundant.Expected Behavior
AddMessagingServicesCorecalls the sameRegister*helpers, so every registration path shares one implementation per pattern.Root Cause
#1399 kept its scope to the methods the CRAP gate flagged;
AddMessagingServicesCorewas not in the diff, so it kept the older inline form.Proposed Fix
Replace the inline blocks in
AddMessagingServicesCorewith calls to the existing helpers, drop the redundant outer checks, and keep the ADO.NET tenancy DI tests green (together with #1398, which addsValidateOnBuildDI tests for the ADO.NET and Dapper providers).Priority
Effort Estimate
Related Issues