Avatar billede neo3000 Nybegynder
25. november 2013 - 16:06 Der er 1 løsning

Asynkron API søgning med delvise resultater - JSON

Hej,

I øjeblikket har jeg en handler der kan søge x-antal mange API'er på én gang og få en masse resultater tilbage - Disse bliver løbende gemt i en database, som min frontend kigger ned i mere eller mindre konstant.

Jeg ønsker at det bliver til en løsning uden database-delen, dvs. at det hele skal præsenteres i JSON, som min frontend så løbende parser på.

Det skal være sådan, at et SearchID bliver spurgt på flere gange, indtil headeren i json-svaret indeholder "completed: true" eller lign.

Eksempel:
2 brugere laver en søgning hver.

pseudo-kode:

SearchID=1 - Poll 1:
- completed: false;
- results, count: 2;

SearchID=2 - Poll 1:
- completed: false;
- results, count: 8;

SearchID=1 - Poll 2:
- completed: false;
- results, count: 7;

SearchID=2 - Poll 2:
- completed: true;
- results, count: 10;

SearchID=1 - Poll 3:
- completed: true;
- results, count: 15;


Jeg ved ikke hvordan man laver det bedst, men har kigget på IHttpAsyncHandler, SignalR og en alm. WebService med async/await.

Jeg håber nogen kan give mig et eksempel på hvordan bestpractice på sådan noget er, da jeg ved mange bruger dette, bla. HotelsCombined til deres webservice.

Jeg bruger VS2013, C# og .NET 4.5.1, så jeg har derfor alle de nyeste features til rådighed.


På forhånd tak.
Avatar billede neo3000 Nybegynder
03. december 2013 - 10:37 #1
Løste det selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester