1

我正在尝试获取 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。

如何在控制器中获取当前用户会话?

4

1 回答 1

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 自动装配,也许上面也能解决这个问题

于 2014-08-22T12:58:24.667 回答