Nella forma canonica, in ASP.NET, troviamo due message patterns:

  • One way: invio la richiesta ma non ho alcuna risposta
  • Request/Response: a seguito di una richiesta ho una risposta

Purtroppo, le due soluzioni non permettono un meccanismo 'asincrono' di comunicazione (duplex message pattern). L'unica asincronicità possibile (forse ;-)) è lato client (per non avere una chiamata bloccante - che blocca la GUI) oppure lato server (banalmente, multi-threading). Per il resto si è soggetti ai problemi classici di timeout.

La soluzione c'è, e bisogna lavorarci un pochetto (ma non è poi così difficile). Spero, a breve (e se interessa) di scriverci un articoletto.