-
Notifications
You must be signed in to change notification settings - Fork 0
⭐ Shared
Terrence Daniels edited this page Aug 15, 2026
·
2 revisions
Not a .csproj project — a linked-source folder compiled directly into consuming projects (which is exactly why it's absent from eShop.slnx). Both files reviewed for code quality and left unchanged, since each has a real, load-bearing reason for what might otherwise look like an oversight:
-
ActivityExtensions.cs— no namespace, deliberately: the global namespace lets any consuming project call.SetExceptionTags()without ausingstatement. Its internal null-check on theActivityreceiver isn't defensive padding either — it's an extension method, callable on anullreceiver, andRabbitMQEventBus.cs(see EventBusRabbitMQ) relies on that by calling it without?.. -
MigrateDbContextExtensions.cs— deliberately overridesBackgroundService.StartAsync, not the more commonly-overriddenExecuteAsync, so host startup actually waits for the migration to finish before the app reports itself ready. Correct on inspection, not an accident. Revisited later for a DRY/SOLID pass: two near-identicalStartActivity/try-catch/tag shapes extracted into one shared helper, andIDbSeeder<TContext>moved into its ownAbstractions/IDbSeeder.csfor discoverability.