在我的Controller类中,我可以这样做:
var userId = this.ActionContext.RequestContext.Principal.Identity.Name;
但我有一个肥皂标题,我想将此值传递给。使用soap标头的行为是使用我的依赖注入设置的。因此,虽然它是为每个调用创建的,但它不是在Controller中创建的。
所以我想知道,有没有办法在控制器外部访问Web API 2的HttpActionContext。理想情况下,我想要这样的东西:\
HttpActionContext.CurrentInstance.RequestContext.Principal.Identity.Name;
但当然CurrentInstance
不是HttpActionContext
的静态成员。
但是有没有其他方法可以在没有控制器的情况下获得此功能?
答案 0 :(得分:2)
您可以使用以下
访问身份名称System.Web.HttpContext.Current.User.Identity.Name