У меня есть веб-страница, которая содержит 4 сетки Silverlight. Каждый из них вызывает веб-службу, которая, в свою очередь, использует LinqToSql для извлечения данных из базы данных SQL через сохраненный процесс.
Используется тот же хранимый процесс, и его запуск занимает несколько секунд, поэтому я подумал, что смогу как-то извлечь данные из сохраненного процесса один раз, а затем использовать этот «основной» список данных для других методов в качестве источника данных.
public class DataRepository
{
private DynamicsGPDataContext db = new DynamicsGPDataContext();
List<Part> dohParts = new List<Part>();
bool partsLoaded = false;
private void LoadAllParts()
{
//all parts loaded in here and stored in dohParts
}
Теперь в каждом из моих методов я могу использовать dohParts в качестве источника данных, но поскольку они используются асинхронно, как я могу сказать им ждать, пока dohParts получит данные?
Или есть лучший способ сделать это?