|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
Вопрос может прозвучит глупо, но я не нашел информации. что будет если часть сервис зарегистрировано в дефолтном, а основная в стороннем? Раньше я думал что зависимости переходили и не обращался внимания к примеру Код: c# 1.
я получал доступ к контексту хотя я использую DryIoc. встала задача сделать инжектирование в джобы кварца. не вопрос, почитал, переопределил IJobFactory и зарегистрировал их через IServiceProvider. но в итоге я не получал зависимости в конструкторе джоба что бы зарегистрованы в DryIoc. Естественно если я регал их через IServiceCollection, то все получал. конечно я могу определить IJobFactory для контейнера DryIoc и вопрос вроде решить, еще не проверил. Но вопрос основной в том как AddDbContext регистрирует контекст(или регистрация логера от мс, он тоже доступен везде) так что DryIoc знает про него. или может я не понял чего. п.с. я просто надеялся что я зарегистрирую в IServiceCollection и оно просто перейдет в DryIoc при замене локатора, чтоб не иметь реализацию IJobFactory под каждый Ioc контейнер. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 10:10 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
handmadeFromRu, я не знаю, как там устроен DryIoc, но по идее, его интеграция должна делать следующее: 1. создать контейнер DryIoc 2. вытащить все зависимости, зарегистрированные ранее, через IServiceCollection (populate services) 3. заменить контейнер на DryIoc всё, что ты зарегаешь в IServiceCollection потом, не возымеет никакого действия. и да, коль уж ты используешь свой контейнер, ты должен регать всё в нём, а не в IServiceCollection, в Autofac для этого используются модули. просто в него переносится то, что регается коробочными MS-решениями, а далее плывёшь уже на другом корабле, не может использовать два контейнера одновременно, то что у тебя работает services.AddDbContext означает, что ты это выполняешь раньше, чем DryIoc забирает зависимости под своё крыло. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 10:21 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
handmadeFromRu, https://bitbucket.org/dadhi/dryioc/src/e788ffce78b727b35fda5355a2297d40f0e7731b/NetCore/src/DryIoc.Microsoft.DependencyInjection/DryIocAdapter.cs?at=default&fileviewer=file-view-default собственно да, о чём я и говорил Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 10:27 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
hVostt просто в него переносится то, что регается коробочными MS-решениями, да на это я и надеялся. да я понимаю про регистрацию раньше, поэтому и закинул выше чем создание контейнера DryIoc с заменой. но не получил в конструкторе объектов. Вообще мое предположение было верно что DryIoc переносит ранее зареганные зависимости и я где то ошибся просто. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 10:50 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
hVostt, проблема была во времени жизни. я напортачил. но спасибо тебе что мне разжевал то что я думал как работает оказалось именно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 16:33 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
handmadeFromRuпроблема была во времени жизни Scoped? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 17:04 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
hVostthandmadeFromRuпроблема была во времени жизни Scoped? ну по сути да только специфичный, inWebRequest. а я регистрировал сервисы внутри кварца. вообщем пересмотрел идею reuse. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 10:14 |
|
дефолтный контейнер и стороний (core net)
|
|||
---|---|---|---|
#18+
handmadeFromRuну по сути да только специфичный, inWebRequest. а я регистрировал сервисы внутри кварца. вообщем пересмотрел идею reuse. А.. в Autofac когда-то добавили InstancePerRequest(), потом поняли, что натупили и рекомендовали использовать InstancePerLifetimeScope() как раз-таки по причинам, что скоуп не обязательно может быть ограничен запросом :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 10:19 |
|
|
start [/forum/topic.php?fid=18&fpage=21&tid=1355273]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 259ms |
total: | 385ms |
0 / 0 |