Browse registered services, Content Finders and URL Providers and more
With the move to .NET 6 (NET Core) that Umbraco 10 brought it's given me an excuse to work on some new features for my God Mode Umbraco package. If you've no idea what I'm talking about then check out my post about bringing it to .NET Core with Umbraco 9. Working with the .NET 6 codebase is a lot nicer, so it's given me a bit more incentive to add new stuff. Incidentally, if you have any ideas of what you'd like to see in the package, then let me know.
I'll summarise the main new features in God Mode 10.2.0.
- The ability to view all the services injected into the IOC container and their implementations and lifetime (scope). For instance, if you register IMyService in a composer that implements the concrete class MyFabService then it will be listed and you can see whether it's registered as a Singleton, Scoped or Transient. So you can always see what implementations of services are being used when you use dependency injection. This covers all services - both your own, Umbraco's own services and any others added by 3rd parties.
- The option to list all Content Finders - handy if you have created your own custom ones
- A list of all URL Providers that the site uses (again, handy if you are using custom ones..)
- More diagnostics - including a new Umbraco Infrastructure setting that lists things like registered Background Tasks, Sections, Dashboards and Middleware with their implementing type. Very geeky!
- Much improved Partial view parsing when detecting what partials are being used - so it doesn't matter if the partial is added async or via a Tag Helper, it should still be found.
- Likewise, better View Component detection
- There have also been some minor UI updates and styling fixes.
- This version also contains the new Copy DataType feature I added in the previous release. This allows you to easily copy any Umbraco datatype with a single right click. This is handy for when you want to clone a particularly complex datatype and keep all the configuration. I use this with the Block List editor a lot!
Service Browser Example
Here's an example of the service browser in action, letting you see what services are registered. In this example I've typed "ICache" in the search box to limit the results to all interfaces that start with ICache. You can then see all the implementations and their lifetime.