Lightinject - Обнаружена рекурсивная зависимость

1

Во всяком случае, вокруг проблемы с рекурсивной зависимостью обнаружена проблема в LightInject.

У меня есть две бизнес-службы, которые берут друг друга, и поэтому я получаю обнаруженную рекурсивную зависимость. Кто-нибудь придумал обходной путь? Я уверен, что в Structure Map работает.

Итак, у меня есть что-то вроде:

public class RetailerService : IRetailerService
{
    private readonly IUserService _userService;

    public RetailerService(IUserService userService)
    {
        _userService = userService;
    }

а также

public class UserService : IUserService
{
    private readonly IRetailerService _retailerService;

    public UserService(IRetailerService retailerService)
    {
        _retailerService = retailerService;
    }

Каждому нужно звонить друг другу. Например, когда я загружаю пользователя, я загружаю ритейлера, который является вызовом службы розничной торговли, и когда я добавляю розничного продавца, мне нужно проверить пользователя, который является вызовом userService.

Заранее спасибо.

Теги:
dependency-injection
ioc-container

1 ответ

0

Это уродливый запах, которого следует избегать в первую очередь. Но вы можете создать обходной путь, используя инъекцию свойств.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню