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;








0















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










share|improve this question






















  • 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.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

















0















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










share|improve this question






















  • 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.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













0












0








0








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










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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.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

















  • 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.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
















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












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
);



);













draft saved

draft discarded


















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















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해