Sto provando a passare informazioni contestuali sul contesto della chiamata logica (utilizzando CallContext.LogicalSetData(CallContextKey, value)
) come da posta di Stephen Cleary http://blog.stephencleary.com/2013/04/implicit-async-context-asynclocal.html; e ispirato al codice in https://github.com/neuecc/OwinRequestScopeContext.Passaggio del contesto della chiamata logica dalla pipeline OWIN al controller WebApi
Il valore sarà disponibile attraverso la pipeline OWIN, ma non è disponibile quando la chiamata entra nel controller WebApi, il valore non è impostato.
Ho anche notato che quando si imposta un punto di interruzione nel controller, non riesco a vedere la pipeline OWIN nello stack di chiamate. Apparentemente, ASP.NET sta effettuando chiamate di controller su un contesto di chiamata separato.
Quindi,
Perché (e come) si fa ASP.NET isolare il contesto chiamata da OWIN pipeline per il controller WebAPI?
Come posso passare i dati contestuali dalla pipeline al controller?