StructureMap配置为在为任何ASP.NET MVC Web请求请求HttpContext.Current.User
时注入IPrincipal
,如下所示:
For<IPrincipal>().Use(x => HttpContext.Current.User);
但是当我的SignalR中心请求依赖于IPrincipal
的服务时,注入失败,因为HttpContext.Current
为空。相反,SignalR已经有一个HubCallerContext
属性,可通过IPrincipal
公开当前Context.User
。
如何配置StructureMap以始终将有效IPrincipal
注入我的SignalR中心所依赖的服务?
答案 0 :(得分:1)
这样做:
For<IPrincipal>().Use(x => Thread.CurrentPrincipal);