Я пытаюсь передать контекстуальную информацию в контексте логического вызова (используя CallContext.LogicalSetData(CallContextKey, value)
) согласно сообщению Стивена Клири http://blog.stephencleary.com/2013/04/implicit-async-context-asynclocal.html; и вдохновлен кодом в https://github.com/neuecc/OwinRequestScopeContext.
Значение будет доступно через конвейер OWIN, но оно недоступно, если вызов входит в контроллер WebApi, значение не задано.
Я также заметил, что при установке контрольной точки в контроллере я не вижу конвейер OWIN в стеке вызовов. По-видимому, ASP.NET делает вызовы контроллеров в отдельном контексте вызова.
Итак,
-
Почему (и как) ASP.NET изолирует контекст вызова от конвейера OWIN до контроллера WebApi?
-
Как передать контекстные данные из Pipeline в контроллер?