Possiedo un'applicazione Web che fa molto affidamento sui servizi Web. Tutto con i servizi viene eseguito in modo asincrono e con AddOnPreRequestHandlerExecuteAsync. Ad ogni modo, la maggior parte delle mie chiamate funziona bene, ma alcune stanno ritornando dalle loro chiamate di servizio asincrone per trovare un oggetto HttpContext.Current.Response/Request null in endprerequest, che ovviamente si verifica nell'istante in cui provo ad usarlo. Entrambi gli oggetti (Risposta e Richiesta sono disponibili/non nulli all'avvio della richiesta di chiamate non riuscite e funzionano alla fine del premio di altre chiamate).HttpWebRequests asincroni e null HttpContext.Current.Response/Richiesta oggetto
Chiunque si imbatta in qualcosa di simile o ha una supposizione su quale potrebbe essere il problema?
Aggiornamento: sembra aver trovato una soluzione, se creo una variabile per HttpApplication su Init (del HttpModule si verifica tutto in) è possibile accedere a HttpContext da tale variabile.
Aggiornamento: passare HttpApplication o HttpContext.Current sulla funzione begin ha lo stesso problema. Quando vengono passati come parte dello "stato" della chiamata asincrona, finiscono nulli nella funzione finale, anche se sono validi nella funzione di inizio.
Aggiornamento: ho aggiunto alcune registrazioni e ho riscontrato che la chiamata asincrona che sto facendo sta ritornando correttamente, i risultati ci sono, la funzione di callback è invocata correttamente.
Puoi descrivere con dettagli come hai risolto il problema – omoto
Nel mio HttpModule ho una variabile di tipo HttpApplication. Nella chiamata alla funzione init() imposto questa variabile all'HttpApplication che viene passata a init. In BeginPreRequestHandlerExecute e EndPreRequestHandlerExecute mi riferisco all'attuale HttpContext utilizzando oApplication.Context, oApplication è il nome della variabile HttpApplication nel mio HttpModule. – aepheus