Ritu Madan
+4
Jan 23, 2024
visibility 2263
star star star star star
(1 votes)

Decoding DI in Optimizely CMS 12

DI or Dependency Injection is a complex topic, not just in Optimizely CMS, but in general in .net core implementations. Some aspects we get, like the different ways dependencies can be injected and which is better over others, while some leave us scratching our heads. Often times we end up doing a lot of troubleshooting, digging into internal code and finding the right alternatives to DI, to get things to work.

The biggest blocker here is understanding the order in which steps get executed, modules get initialized and services get registered. Once this is clear, we know where to add our custom code and avoid any surprise runtime errors around missing service registrations. One such error led me to this discovery so sharing my findings and learnings.

Read the complete post here for details.

Jan 23, 2024

Comments

Surjit Bharath
Surjit Bharath Jan 31, 2024 10:45 AM

Welp! Looks like this article got swamped under a bunch of AI ones. Great article Ritu, very useful!

Senura Dissanayake
Senura Dissanayake Feb 2, 2024 12:17 PM

Nice finding.👍

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |