gpt4 book ai didi

asp.net-mvc-3 - 如何在我的所有 View 上获得可用的服务堆栈 session ?

转载 作者:行者123 更新时间:2023-12-01 10:59:26 25 4
gpt4 key购买 nike

我目前正在构建一个带有 servicestack 网络应用程序的 mvc3。我正在使用 servicestack 凭据身份验证并使用 servicestack session 。

我已经知道我可以通过以这种方式在 ViewBag 中检索和设置它来访问 View 中的 session :

public partial class HomeController : ControllerBase {
public virtual ActionResult Index() {
ViewBag.UserSession = base.UserSession;
return View();
}
}

我真的不想在我的每个方法中重复这段代码,我正在寻找一种在我看来访问 session 的通用方法,有什么想法吗?

最佳答案

如果您有机会更改 View 的基类,只需复制 base ServiceStack MVC Controller 中的代码即可。 ,例如:

protected object userSession;
protected TUserSession SessionAs<TUserSession>()
{
return (TUserSession)(userSession ?? (userSession = Cache.SessionAs<TUserSession>()));
}

在哪里ICacheClient.SessionAs<T>ServiceStack.ServiceInterface namespace 中的扩展方法.但是,如果您没有机会使用自定义基类,则对类型化 session 的完全限定访问是:

EndpointHost.AppHost.TryResolve<ICacheClient>().SessionAs<TUserSession>();

同时确保您安装了最新版本的 ServiceStack。

关于asp.net-mvc-3 - 如何在我的所有 View 上获得可用的服务堆栈 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12531644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com