ciao, ho un applicazione desktop che interagisce con un webservice rest tramite il client restsharp.
Per adesso in questa applicazione ho usato dei background worker , tutto ok , solo che non posso instanziare tanti background worker per eseguire parallelamente vari trasferimenti che potrebbero essere accellerati per il modo in cui è strutturato il web service.
Ho visto le funzioni asincrone e usate possono aiutarmi? possono realmente e in modo sicuro eseguire compiti che durano alla fine poco 10 sec al massimo ma in background ? e che thread usano ? posso continauare a lavorare sulla ui mentre queste funzioni lavorano? in realta le vedo piu o meno come task.
E' possibile ad es se ho 1000 prodotti suddividere e creare 10 client alla volta che inviano le informazioni per un aumento di prestazioni? banda permettendo chiaramente, perchè ogni prodotto è indipendente e legge e basta dal db.
non riesco a capire dov' è il collo di bottiglia che rallenta molto la mia esecuzione , se è il web service o la banda.
alla fine anche se è una stupidata l'idea di creare vari client io sarei propenso ad utilizzare lo stesso le funzioni asincrone per tutto quel po po di roba che offrono come la sincronizzazione, task scheduler ecc....e la semplicità di creazione ed esecuzione(in un background worker devo posizionare il controllo , agganciare gli eventi , farlo partire , è macchinosa la parte di comunicazione con la gui ecc...
grazie.