C# 在azure worker角色中运行时,HttpContext.Current在api调用中为null

C# 在azure worker角色中运行时,HttpContext.Current在api调用中为null,c#,owin,azure-worker-roles,C#,Owin,Azure Worker Roles,我正在尝试使用Httpcontext.Current在控制器调用的方法中访问我的owin上下文,这在IIS中运行站点时非常有效。只有当我以Azure worker角色运行api时,问题才存在。即使我在控制器中添加断点并尝试获取HttpContext.Current,我仍然会得到null 我的问题是:在使用azure时是否需要添加额外的内容?或者工作角色不支持这种方法吗?我怀疑Azure工作角色使用了HttpContext.Current不可用的特定OWIN主机。HttpContext.Curre

我正在尝试使用Httpcontext.Current在控制器调用的方法中访问我的owin上下文,这在IIS中运行站点时非常有效。只有当我以Azure worker角色运行api时,问题才存在。即使我在控制器中添加断点并尝试获取HttpContext.Current,我仍然会得到null


我的问题是:在使用azure时是否需要添加额外的内容?或者工作角色不支持这种方法吗?

我怀疑Azure工作角色使用了HttpContext.Current不可用的特定OWIN主机。HttpContext.Current仅在ASP.NET主机内可用。

如果站点是自托管的,我怀疑HttpContext.Current是否有效。你真的验证过吗?实际上没有。我把这个api和另一个服务混淆了。我将编辑我的问题。你认为这就是它不起作用的原因?因为在worker角色中运行owin api与运行它selfhosted大致相同。没错。您应该忘记启用OWIN的应用程序中的HttpContext.Current。它可能在IIS中工作的事实并不意味着你应该使用它,因为你正在扼杀OWIN的所有好处,并将你的代码与ASP.NET主机耦合。好了,现在我知道去哪里寻找更多信息了。如果你再加一个答案,我就接受了。