我试图获得UserSession。
public abstract class BaseController : ServiceStackController<CustomUserSession>
{
public AuthService AuthService { get; set; } // NOT Autowired -Problem 1
public BaseController()
{
//this.ControllerContext = null -Problem 2
//UserSession 'UserSession' threw an exception of type System.NullReferenceException' -Problem 3
if (!this.ControllerContext.IsChildAction)
{
}
}
}
但是你可以看到有3个问题。 为什么我需要这个?我想在_Layout.cshtml中应用用户特定的CSS。
如何在Controller中获取当前用户会话?
答案 0 :(得分:1)
我有一个null UserSession,通过将以下代码添加到AppHost中的Configure方法来解决它:
//Set MVC to use the same Funq IOC as ServiceStack
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
ServiceStackController.CatchAllController = reqCtx => container.TryResolve<HomeController>();
不确定AuthService自动装配,也许上面也会解决这个问题