Теперь у меня есть следующий код, который вызывает службу WCF, она получает некоторые данные и затем передает данные в браузер.
Единственная проблема заключается в том, что client_GetProductCompleted () не вызывается до загрузки() заканчивается, и к тому времени уже слишком поздно.Браузер уже загрузил информацию.
Так что в основном я спрашиваю, есть ли способ реализации методов, такой, что client_GetProductCompleted () вызывается, как только вызывается Load (), затем он может вернутьданные возвращаются в браузер вовремя:)
Возможно, это глупо, но я попытался попросить программу не работать, ожидая завершения Load (), и это не сработало.Так что теперь я совершенно невежественен ...
public static Products _OurProducts = new Products();
public void Load()
{
ServiceReference1.ServiceClient client = new ServiceReference1.ServiceClient();
client.getProductsCompleted +=
new EventHandler<ServiceReference1.getProductsCompletedEventArgs>(
client_GetProductCompleted);
client.getProductsAsync();
return;
}
void client_GetProductCompleted(object sender, ServiceReference1.getProductsCompletedEventArgs e)
{
if (e.Result != null)
{
ObservableCollection<ServiceReference1.Product> products = e.Result;
foreach (ServiceReference1.Product prod in products)
{
Product temp = new Product(prod);
_OurProducts.Add(temp);
}
}
}