2

StructureMap 配置为在任何 ASP.NET MVC Web 请求被请求HttpContext.Current.User时注入,如下所示:IPrincipal

For<IPrincipal>().Use(x => HttpContext.Current.User);

但是,当我的 SignalR 集线器请求依赖于 的服务时IPrincipal,注入失败,因为HttpContext.Current它为空。相反,SignalR 已经有一个HubCallerContext公开当前IPrincipalvia的属性Context.User

如何将 StructureMap 配置为始终IPrincipal向 SignalR 集线器所依赖的服务注入有效值?

4

1 回答 1

1

只需这样做:

For<IPrincipal>().Use(x => Thread.CurrentPrincipal);
于 2012-10-26T10:01:45.163 回答