Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.06.2015, 13:10
|
|||
|---|---|---|---|
Autofac. Вопрос по конфигурированию. |
|||
|
#18+
Привет. Застрял. Подскажите плиз. Есть у меня 3 сущности: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Как мне законфигурировать следующую ситуацию: Мне нужно создать First. Но чтобы ISecond я создал сам по следующему условию: IThird должен быть создан самим Autofac согласно правилам его конфигурирования (меня они не волнуют. Т.е. мне просто нужно чтобы зависимость была создана сама как-то там), а IOther должен быть передан мной. Как такое сделать ? Мне кажется должно быть что-то типа: Код: c# 1. 2. но у ContainerBuilder нету метода Resolve !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2015, 13:17
|
|||
|---|---|---|---|
|
|||
Autofac. Вопрос по конфигурированию. |
|||
|
#18+
В принципе, данных подход разрушает принцип DI Может сделать фабрику для second и избавиться от хардкода для second в конфигураторе AF? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2015, 13:36
|
|||
|---|---|---|---|
Autofac. Вопрос по конфигурированию. |
|||
|
#18+
Shocker.Pro, С чего это нарушение DI ? DI не требует чтобы ВСЕ резолвилось автоматически. Бывают ситуации, когда мне необходимо вмешаться в процесс. Для чего и существует метод WithParameter. Он же не зря сделан. Мне вот и нужно передать кастомный (созданный с заданными мною парметрами) тип. Но я столкнулся с тем, что сам тип создается с использованием какого-то другого типа ! Если бы там была строка. Все было бы просто И РАБОТАЛО БЫ: Код: c# 1. 2. тут нету проблемы. Все работает. Но у меня, к сожалению, не просто строка. А другой сложный тип, который и нужно, на самом то деле, законфигурировать. Как это сделать ? есть идеи ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2015, 13:38
|
|||
|---|---|---|---|
Autofac. Вопрос по конфигурированию. |
|||
|
#18+
Shocker.ProМожет сделать фабрику для second и избавиться от хардкода для second в конфигураторе AF? Я идею не понял. Но если это поможет решить мою проблему, то я только за. Можете показать код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2015, 13:58
|
|||
|---|---|---|---|
|
|||
Autofac. Вопрос по конфигурированию. |
|||
|
#18+
ProBiotekShocker.ProМожет сделать фабрику для second и избавиться от хардкода для second в конфигураторе AF? Я идею не понял. Но если это поможет решить мою проблему, то я только за. Можете показать код?Нужно сделать класс ISecondFactory, который умеет по запросу генерировать экземпляр Second, сам при этом имеет зависимость от IThird Соответственно IFirst должен иметь зависимость не от ISecond, а от ISecondFactory, а в конструкторе получить из этой фабрики экземпляр Second. Соответственно, зависимость от ISecond в AF не прописывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2015, 15:25
|
|||
|---|---|---|---|
Autofac. Вопрос по конфигурированию. |
|||
|
#18+
нашел ответ, в общем. все просто, как оказалось: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Т.е. оказвыается у WithParameter есть перегруженный метод принимающий контейнер. Через который и можно резолвить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=20&mobile=1&tid=1401438]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 287ms |
| total: | 429ms |

| 0 / 0 |
