question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Simplify service registration and use MSDI abstractions throughout.

See original GitHub issue

I don’t know how to phrase this better but drop the tight coupling with LightInject like a hot stone for the .NET Core implementation.

This was discussed at great length pre V8.

https://issues.umbraco.org/issue/U4-11427

There was even an attempted PR. Unfortunately V8 was launched before it could be completed. In my opinion it also did not go far enough to simplify registration of services.

https://github.com/umbraco/Umbraco-CMS/pull/3955

The current DI implementation hurts extensibility through it’s complexity. Package development for V8 still undeniably suffers for a lack of ecosystem. There were slack channels created by package developers specifically to discuss navigating this complexity.

Using a custom LightInjectContainer is never a good idea; neither is running multiple containers.

CC/ @lars-erik

P.S I’m absolutely putting my hand up here to help design a more simplified approach.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:7
  • Comments:232 (232 by maintainers)

github_iconTop GitHub Comments

6reactions
Shazwazzacommented, Nov 25, 2020

Merged 🎉 🚀 bloody amazing work everyone 😍 and yep I agree I think we should close this issue now and discuss further on #9397 & #9446 + created issues re: UmbracoBuilder enhancements and collection builders

6reactions
p-m-jcommented, Nov 19, 2020

I have the site working for install & run (backoffice good post install) with CoreRuntimeBootstrapper removed.

The tests aren’t very happy but this is huge.

RuntimeState.Level determined as part of Startup.Configure instead of Startup.ConfigureServices.

We can drop this BS

public static IUmbracoBuilder AddUmbracoCore(...
  Func<GlobalSettings, ConnectionStrings, IUmbracoVersion, IIOHelper, ILoggerFactory, IProfiler, IHostingEnvironment, IBackOfficeInfo, ITypeFinder, AppCaches, IDbProviderFactoryCreator, CoreRuntimeBootstrapper> getRuntimeBootstrapper)

We never have to call BuildServiceProvider, not even once! (if we fix a couple more little bits)


And tests passing, there’s still more cleanup to do but this is so much better 8b97ce6 (and my wife will kill me if I don’t step away from PC)

Read more comments on GitHub >

github_iconTop Results From Across the Web

Chapter 11: Building Customer Service Applications for the ...
One of the major abstraction points is that services are always consumed from the SharePoint Web Front End (WFE) servers, or those that...
Read more >
Why do I see Linux prints multiple “unexpected MSI”...
In a PCIe Root Port with MSI design, PCIe hard IP is connected to an MSI-GIC IP via pipeline bridge. When Linux prints...
Read more >
10 Deploying Applications
If your application uses an MDS Repository, you must register the repository with the Oracle WebLogic Server domain before you deploy your application....
Read more >
NET Azure SDK Design Guidelines
Throughout this document, we'll use the client library for the Azure Application Configuration service to illustrate various design concepts.
Read more >
Tanzu Application Platform v1.6
Set up developer namespaces to use your installed packages ... Install Tanzu Application Platform through GitOps with External Secrets.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found