Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
731 views
in Technique[技术] by (71.8m points)

c# - Converting lightInject to .netcore DI

I am converting some lightInject code to .netcore DI

In .netcore DI, we have AddSingleton and AddTransient functions for registering the service. In the lightInject, I have RegisterMethod. So I just want to know whether the Register methods registers only singleton instance or multiple when ever we call.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

based on documentation The default behavior in LightInject is to treat all objects as transients unless otherwise specified. So in .Net Core, you would need to register your services as transient.

A little bit about lifetimes:

Transient Transient lifetime services (AddTransient) are created each time they're requested from the service container. This lifetime works best for lightweight, stateless services.

Scoped Scoped lifetime services (AddScoped) are created once per client request (connection).

Singleton Singleton lifetime services (AddSingleton) are created the first time they're requested (or when Startup.ConfigureServices is run and an instance is specified with the service registration). Every subsequent request uses the same instance.

Here is a link to .Net Core dependency injection documentation.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...