访问我的Web API 2 Controller之外的HttpActionContext

时间:2016-07-22 22:40:47

标签: c# .net asp.net-web-api asp.net-web-api2

在我的Controller类中,我可以这样做:

var userId = this.ActionContext.RequestContext.Principal.Identity.Name;

但我有一个肥皂标题,我想将此值传递给。使用soap标头的行为是使用我的依赖注入设置的。因此,虽然它是为每个调用创建的,但它不是在Controller中创建的。

所以我想知道,有没有办法在控制器外部访问Web API 2的HttpActionContext。理想情况下,我想要这样的东西:\

HttpActionContext.CurrentInstance.RequestContext.Principal.Identity.Name;

但当然CurrentInstance不是HttpActionContext的静态成员。

但是有没有其他方法可以在没有控制器的情况下获得此功能?

1 个答案:

答案 0 :(得分:2)

您可以使用以下

访问身份名称
System.Web.HttpContext.Current.User.Identity.Name