2014-11-20 2 views
0

Я загрузил пример проекта LinqToLdap GIT, который использует SimpleInjector в качестве контейнера Inversion of Control и перевел код на замок Windsor. Мой конфиг код выглядит следующим образом:
Использование Castle Windsor с LinqToLDAP

container.Register(Component.For<ILdapConfiguration>() 
      .UsingFactoryMethod(() => 
      { 
       var config = new LdapConfiguration() 
       .AddMapping(new UserImageMapping()) 
       .AddMapping(new UserMapping()); 

       config.ConfigurePooledFactory("my.ad.server"); 
       return config; 
      })); 


и контекст Справочник зарегистрирован как:

container.Register(Component.For<IDirectoryContext>() 
      .UsingFactoryMethod(() => new DirectoryContext(container.Resolve<ILdapConfiguration>())).LifestyleSingleton()); 


Этот вопрос я сталкивался в при использовании DirectoryContext в запросе такие как:

var photo = context.Query<UserPhoto>().FirstOrDefault(u => u.EmployeeId == userQuery.Id); 


В объекте контекста есть список поставщиков, связанных с ним, и количество этих поставщиков постоянно увеличивается с каждым запросом. Настолько, что есть сотни после нескольких минут использования. Я предполагаю, что это связано с правильным удалением контекста, но когда я явно избавляюсь от контекста, последующие запросы терпят неудачу, так как контекст расположен и по какой-то причине новый не создается. Может ли кто-нибудь помочь?

ответ

0

Оказывается, это небольшая ошибка в коде LinqToLDAP. Разработчик определил проблему, и она будет исправлена ​​в следующей версии! (R 3.3.2)

Смежные вопросы