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 に答える