Asp.net web api OWIN中间件&;调用上下文
在OAuth中间件之前和之后,我有一些中间件Asp.net web api OWIN中间件&;调用上下文,asp.net-web-api,owin,Asp.net Web Api,Owin,在OAuth中间件之前和之后,我有一些中间件 app.Use<Middleware1> app.Use<Middleware2> app.UseOAuthBearerTokens(OAuthOptions) app.Use<Middleware3> app.Use<Middleware4> app.Use<Middleware5> app.Use 应用程序。使用 应用程序使用OAuthBealerTokens(OAuthOptions
app.Use<Middleware1>
app.Use<Middleware2>
app.UseOAuthBearerTokens(OAuthOptions)
app.Use<Middleware3>
app.Use<Middleware4>
app.Use<Middleware5>
app.Use
应用程序。使用
应用程序使用OAuthBealerTokens(OAuthOptions)
应用程序。使用
应用程序。使用
应用程序。使用
如果我在Middleware1或Middleware2的CallContext中设置了一些内容,那么它在Middleware3或4或任何API控制器中都不可用;然而,如果我在Middleware3或4中的CallContext中设置了一些内容,那么它在所有后续的中间件和API控制器中都是可用的
我猜UseAuthBealerTokens正在重置或创建新的CallContext??有人遇到过这种情况吗
我可以通过以下方法之一摆脱它:
1.使用OwinContext而不是CallContext。缺点-需要在需要在上下文中设置值的所有项目中引用OWIN。
2.在Middleware1中,我可以在OwinContext中设置值,在遵循OAuth中间件的中间件中,我可以从OwinContext中检索值并在CallContext中重置它
让我知道一个合适的解决方案