就像我的许多 ServiceStack 问题一样,我相信这会很容易。
我有一个 asp.net MCC4 应用程序,我在其中使用 ServiceStack 进行身份验证。由于 ServiceStack 客户端生成的 cookie 未共享,因此我已按照以下问题的响应来解决此问题:
在我的客户中,我有这段代码:
var authService = AppHostBase.Resolve<AuthService>();
authService.RequestContext = System.Web.HttpContext.Current.ToRequestContext();
var AuthResponse = authService.Authenticate(new Auth
{
provider = "credentials",
UserName = user.user_id,
Password = user.password,
RememberMe = true
});
if (AuthResponse.SessionId != null)
{
Session["IsAuthenticated"] = true;
Session["UserID"] = AuthResponse.UserName;
FormsAuthentication.SetAuthCookie(user.user_id, true);
return Redirect("/home");
}
else
{
Session["IsAuthenticated"] = false;
}
当我尝试运行应用程序时,我收到错误:
" AppHostBase 未初始化。 "
我可能会错过什么?我提前为我对 ASP.net 的缺乏经验表示歉意。
更新
我应该指出,这只是一个 MCV4 客户端应用程序,它将使用属于不同项目的 ServiceStack API。
更新 2
我认为这可能是我对 SS 的不完全理解的一部分,以及它如何适合这样的 Web 应用程序。我相信我真正想要的是了解这个 ASP.net 客户端如何连接到 ServiceStack API 服务器上的现有会话。