2013-04-03 2 views
9

Sto lavorando su un piccolo progetto che voglio implementare long polling in. Non voglio utilizzare SignalR o altre librerie di terze parti per questo. Ho un ASP.NET WebForm che implemento un semplice metodo web, esposto attraverso la pagina asp.net (decorato con l'attributo [WebMethod]).Creare un singolo metodo web asincrono su webform asp.net su polling lungo

Questo è un progetto molto semplice e solo questo singolo metodo deve essere utilizzato in modo asincrono in modo che non stia utilizzando i thread dal pool di richieste. Non sono interessato alle librerie di terze parti che eseguono questo, controller asincroni MVC, tutta la pagina Web async, ecc ... Sto solo cercando un'implementazione semplice per far sì che funzioni su un singolo metodo che verrà richiesto tramite AJAX richieste dal cliente.

Finora non sono sicuro di come affrontarlo come la maggior parte delle risorse che ho trovato fuori-destra implementare async per l'intero progetto, che è NON quello che voglio.

Qualcuno ha qualche idea o risorsa su come posso realizzare questa piccola cosa?

+0

Cercare la stessa cosa io stesso. Finora sembra che tu voglia chiamare RegisterAsyncTask nel tuo metodo e impostare Page.AsyncMode. Se avrò presto qualche codice funzionante, posterò una risposta, fino a quel momento spero che questo ti guidi nella giusta direzione. – eselk

+0

La "piccola" cosa che stai chiedendo non è davvero molto piccola. È un importante cambiamento di paradigma, motivo per cui sono stati creati altri framework per farlo. SignalR è ora parte di ASP.NET, quindi non è più una libreria di terze parti. Ti consiglio di usarlo piuttosto che farlo da solo - ti batterai contro mentre stai provando a fare qualcosa con i moduli web ASP.NET che non è quello per cui è stato progettato. Sarà probabilmente più veloce, più semplice e più pulito usare SignalR e sfruttare ciò che è già presente. –

risposta