Attualmente, ho un'app xamarin che ha un database, un servizio web e altri 2 servizi per gestire la logica tra il database / servizio web e l'interfaccia utente. Sto cercando di rendere tutto async, e quindi sto avendo problemi di race condition. Per i modelli di vista, sto usando DI. Mentre con i servizi li sto trattando come se trattassi la navigazione e li inserissi in SimpleIoc
. L'istanziazione di questi servizi avviene tutti in App.Xaml.cs
. il mio problema è che gli altri 2 servizi logici dipendono dai servizi web e database. Se uno di quelli per qualche motivo non viene inizializzato abbastanza velocemente, i 2 dispositivi restituiscono l'eccezione nulla su quegli elementi. E poiché creo questi servizi in App.xaml.cs
, non posso eseguire .ContinueWith()
sui miei metodi di inizializzazione asincroni.
Le mie domande sono quindi, quale sarebbe un modo migliore per notificare i miei due servizi quando i servizi web e di database sono pronti per l'uso, come faccio a fare la coda alle chiamate a questi servizi quando si stanno inizializzando, e c'è un migliore approccio a quello che sto facendo?