Недавно наше приложение WPF/Entity Framework 4.0 стало неустойчивым после того, как мы начали использовать фоновых работников для загрузки данных из объекта. Мы делали это для того, чтобы графический режим «Please Wait'-spinner» работал, пока работник BG извлекал данные из базы данных, но мы начали испытывать многочисленные проблемы с подключением к EF и другие необъяснимые ошибки в случайные моменты времени. Сообщение от члена команды Microsoft EF показало, что EF не «потокобезопасен», и как только мы удалили рабочих BG, проблемы действительно исчезли.WPF «Пожалуйста, подождите» с использованием фоновых работников - возможно ли это?
Это оставляет нам проблему с интерфейсом UI - у нас больше нет удобного пользовательского счетчика «Пожалуйста, подождите», пока данные загружаются. Кто-нибудь есть какие-либо предложения относительно других способов, которыми это можно сделать, не помещая загрузку данных в работника BG?
Благодаря
Нам нравится эта идея и будет исследовать ее возможности для нашей следующей версии. На данный момент мы используем простой вызов Dispatcher.Invoke, который заставляет пользовательский интерфейс обновляться с графикой «загрузки» непосредственно перед вызовом нашего db. Тем не менее, это было бы ncie, если бы Microsoft предоставила EF некоторую асинхронную функциональность. – Gatmando