Contextual Binding in .NET Core 2.2 DI Container?How to integrate Ninject into ASP.NET Core 2.0 Web applications?Case insensitive 'Contains(string)'How to save application settings in a Windows Forms Application?What 'additional configuration' is necessary to reference a .NET 2.0 mixed mode assembly in a .NET 4.0 project?Ninject Contextual Binding on MVC RequestWhy not inherit from List<T>?Property Injection in Asp.Net Core.net Core Quartz Dependency InjectionWhat is the difference between .NET Core and .NET Standard Class Library project types?.NET Core DI scope lifetime in NinjectHow to Create Framework-Dependent Executables with .NET Core 2.2
Winning Strategy for the Magician and his Apprentice
Colloquialism for “see you later”
A IP can traceroute to it, but can not ping
Meaning of 'lose their grip on the groins of their followers'
Importance of Building Credit Score?
How does an ordinary object become radioactive?
Is it a problem if <h4>, <h5> and <h6> are smaller than regular text?
How do governments keep track of their issued currency?
What speaks against investing in precious metals?
SQL counting distinct over partition
Is a lack of character descriptions a problem?
Paying more mana for a Flashed creature
How can I end combat quickly when the outcome is inevitable?
Should I avoid hard-packed crusher dust trails with my hybrid?
Do simulator games use a realistic trajectory to get into orbit?
A king was born in a year that was a perfect square, lived a perfect square number of years, and also died in a year that was a perfect square
Is this use of the expression "long past" correct?
How to hide an urban landmark?
Archi vs trop vs hyper
Giant Steps - Coltrane and Slonimsky
Why NewDocumentEnvironment within ExplSyntaxOn/Off removes spaces from content passed to it outside of ExplSyntaxOn/Off?
Overlapping String-Blocks
Why would future John risk sending back a T-800 to save his younger self?
How can this tool find out registered domains from an IP?
Contextual Binding in .NET Core 2.2 DI Container?
How to integrate Ninject into ASP.NET Core 2.0 Web applications?Case insensitive 'Contains(string)'How to save application settings in a Windows Forms Application?What 'additional configuration' is necessary to reference a .NET 2.0 mixed mode assembly in a .NET 4.0 project?Ninject Contextual Binding on MVC RequestWhy not inherit from List<T>?Property Injection in Asp.Net Core.net Core Quartz Dependency InjectionWhat is the difference between .NET Core and .NET Standard Class Library project types?.NET Core DI scope lifetime in NinjectHow to Create Framework-Dependent Executables with .NET Core 2.2
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
In .NET framework, you can use Ninject to achieve contextual binding.
So for example:
Bind<IWarrior>().To<Samurai>().WhenInjectedInto(typeof(OnLandAttack));
Bind<IWarrior>().To<SpecialNinja>().WhenInjectedInto(typeof(AmphibiousAttack));
This means you can inject different concrete implementations depending on what you're injecting into.
I cannot see any method to achieve the same thing in .NET Core 2.2 - is this not possible, or does it just require a bunch of extra configuration?
Example code from the Ninject site
c# asp.net-core dependency-injection .net-core ninject
add a comment |
In .NET framework, you can use Ninject to achieve contextual binding.
So for example:
Bind<IWarrior>().To<Samurai>().WhenInjectedInto(typeof(OnLandAttack));
Bind<IWarrior>().To<SpecialNinja>().WhenInjectedInto(typeof(AmphibiousAttack));
This means you can inject different concrete implementations depending on what you're injecting into.
I cannot see any method to achieve the same thing in .NET Core 2.2 - is this not possible, or does it just require a bunch of extra configuration?
Example code from the Ninject site
c# asp.net-core dependency-injection .net-core ninject
What do you mean when you say you can't see the method? You took the code above from the docs, does it not work?
– DavidG
Mar 24 at 18:14
1
I was under the impression this was unavailable in .NET Core @DavidG
– ib4nez
Mar 24 at 18:20
There is no such feature in MS.DI.
– Steven
Mar 24 at 18:53
1
See this so answer
– Kalten
Mar 24 at 22:30
Microsoft.Extensions.DependencyInjectiondoes not technically support contextual binding, though you can do this is a somewhat limited way via the factory overloads, i.e. you can provide a lamba "factory" as the service registration, and inside that lambda make determinations about what actual instance to return. If you need something more robust than that, then you will need to use an alternate DI container such as Autofac. See: github.com/aspnet/Extensions/tree/master/src/…. Ninject, it should be noted, is not currently supported, though.
– Chris Pratt
Mar 25 at 16:44
add a comment |
In .NET framework, you can use Ninject to achieve contextual binding.
So for example:
Bind<IWarrior>().To<Samurai>().WhenInjectedInto(typeof(OnLandAttack));
Bind<IWarrior>().To<SpecialNinja>().WhenInjectedInto(typeof(AmphibiousAttack));
This means you can inject different concrete implementations depending on what you're injecting into.
I cannot see any method to achieve the same thing in .NET Core 2.2 - is this not possible, or does it just require a bunch of extra configuration?
Example code from the Ninject site
c# asp.net-core dependency-injection .net-core ninject
In .NET framework, you can use Ninject to achieve contextual binding.
So for example:
Bind<IWarrior>().To<Samurai>().WhenInjectedInto(typeof(OnLandAttack));
Bind<IWarrior>().To<SpecialNinja>().WhenInjectedInto(typeof(AmphibiousAttack));
This means you can inject different concrete implementations depending on what you're injecting into.
I cannot see any method to achieve the same thing in .NET Core 2.2 - is this not possible, or does it just require a bunch of extra configuration?
Example code from the Ninject site
c# asp.net-core dependency-injection .net-core ninject
c# asp.net-core dependency-injection .net-core ninject
asked Mar 24 at 18:01
ib4nezib4nez
307
307
What do you mean when you say you can't see the method? You took the code above from the docs, does it not work?
– DavidG
Mar 24 at 18:14
1
I was under the impression this was unavailable in .NET Core @DavidG
– ib4nez
Mar 24 at 18:20
There is no such feature in MS.DI.
– Steven
Mar 24 at 18:53
1
See this so answer
– Kalten
Mar 24 at 22:30
Microsoft.Extensions.DependencyInjectiondoes not technically support contextual binding, though you can do this is a somewhat limited way via the factory overloads, i.e. you can provide a lamba "factory" as the service registration, and inside that lambda make determinations about what actual instance to return. If you need something more robust than that, then you will need to use an alternate DI container such as Autofac. See: github.com/aspnet/Extensions/tree/master/src/…. Ninject, it should be noted, is not currently supported, though.
– Chris Pratt
Mar 25 at 16:44
add a comment |
What do you mean when you say you can't see the method? You took the code above from the docs, does it not work?
– DavidG
Mar 24 at 18:14
1
I was under the impression this was unavailable in .NET Core @DavidG
– ib4nez
Mar 24 at 18:20
There is no such feature in MS.DI.
– Steven
Mar 24 at 18:53
1
See this so answer
– Kalten
Mar 24 at 22:30
Microsoft.Extensions.DependencyInjectiondoes not technically support contextual binding, though you can do this is a somewhat limited way via the factory overloads, i.e. you can provide a lamba "factory" as the service registration, and inside that lambda make determinations about what actual instance to return. If you need something more robust than that, then you will need to use an alternate DI container such as Autofac. See: github.com/aspnet/Extensions/tree/master/src/…. Ninject, it should be noted, is not currently supported, though.
– Chris Pratt
Mar 25 at 16:44
What do you mean when you say you can't see the method? You took the code above from the docs, does it not work?
– DavidG
Mar 24 at 18:14
What do you mean when you say you can't see the method? You took the code above from the docs, does it not work?
– DavidG
Mar 24 at 18:14
1
1
I was under the impression this was unavailable in .NET Core @DavidG
– ib4nez
Mar 24 at 18:20
I was under the impression this was unavailable in .NET Core @DavidG
– ib4nez
Mar 24 at 18:20
There is no such feature in MS.DI.
– Steven
Mar 24 at 18:53
There is no such feature in MS.DI.
– Steven
Mar 24 at 18:53
1
1
See this so answer
– Kalten
Mar 24 at 22:30
See this so answer
– Kalten
Mar 24 at 22:30
Microsoft.Extensions.DependencyInjection does not technically support contextual binding, though you can do this is a somewhat limited way via the factory overloads, i.e. you can provide a lamba "factory" as the service registration, and inside that lambda make determinations about what actual instance to return. If you need something more robust than that, then you will need to use an alternate DI container such as Autofac. See: github.com/aspnet/Extensions/tree/master/src/…. Ninject, it should be noted, is not currently supported, though.– Chris Pratt
Mar 25 at 16:44
Microsoft.Extensions.DependencyInjection does not technically support contextual binding, though you can do this is a somewhat limited way via the factory overloads, i.e. you can provide a lamba "factory" as the service registration, and inside that lambda make determinations about what actual instance to return. If you need something more robust than that, then you will need to use an alternate DI container such as Autofac. See: github.com/aspnet/Extensions/tree/master/src/…. Ninject, it should be noted, is not currently supported, though.– Chris Pratt
Mar 25 at 16:44
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55326836%2fcontextual-binding-in-net-core-2-2-di-container%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55326836%2fcontextual-binding-in-net-core-2-2-di-container%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What do you mean when you say you can't see the method? You took the code above from the docs, does it not work?
– DavidG
Mar 24 at 18:14
1
I was under the impression this was unavailable in .NET Core @DavidG
– ib4nez
Mar 24 at 18:20
There is no such feature in MS.DI.
– Steven
Mar 24 at 18:53
1
See this so answer
– Kalten
Mar 24 at 22:30
Microsoft.Extensions.DependencyInjectiondoes not technically support contextual binding, though you can do this is a somewhat limited way via the factory overloads, i.e. you can provide a lamba "factory" as the service registration, and inside that lambda make determinations about what actual instance to return. If you need something more robust than that, then you will need to use an alternate DI container such as Autofac. See: github.com/aspnet/Extensions/tree/master/src/…. Ninject, it should be noted, is not currently supported, though.– Chris Pratt
Mar 25 at 16:44