У меня возникла проблема с многопоточным настольным приложением, использующим Castle ActiveRecord на C#:
Чтобы поддерживать работу графического интерфейса при поиске объектов на основе пользовательского ввода, я использую BackgroundWorker
для функции поиска. Некоторые свойства объектов, особенно некоторые HasMany
-отношения, отмечены как Lazy
.
Теперь, когда поиск завершен и пользователь выбирает результирующий объект, должны отображаться некоторые свойства этого объекта. Но поскольку поиск был выполнен BackgroundWorker
в другом потоке, доступ к свойствам завершился неудачей, поскольку сеанс для отложенного доступа больше не доступен.
Каким будет лучший способ выполнить поиск в дополнительном потоке, чтобы сохранить графический интерфейс и правильно получить доступ ко всем свойствам, включая те, которые помечены как ленивые?
Спасибо за любой совет!
С уважением sc911