Во всяком случае, вокруг проблемы с рекурсивной зависимостью обнаружена проблема в 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.
Заранее спасибо.
Это уродливый запах, которого следует избегать в первую очередь. Но вы можете создать обходной путь, используя инъекцию свойств.