【问题标题】:Updating database on each http request with ServiceStack使用 ServiceStack 在每个 http 请求上更新数据库
【发布时间】:2013-08-13 19:53:43
【问题描述】:

假设我想跟踪数据库中的 LastVisited 字段,并且我想在每个传入请求上更新它,无论它是命中 ServiceStack API 还是 MVC 控制器。处理它的最佳方法是什么?显然,我可以将逻辑放在将在每个请求上运行的 Global asax 中,但是我将如何从 ServiceStack 访问会话对象?或者是否有一个 http 处理程序可以附加到 ServiceStack 会话可用的位置。

【问题讨论】:

    标签: asp.net-mvc session asp.net-mvc-4 servicestack httplistenerrequest


    【解决方案1】:
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    

    protected override void OnActionExecuted(ActionExecutedContext filterContext)
    

    这些将覆盖属于System.Web.Mvc.Controller 类的方法。

    我们用一个基础控制器覆盖这个类,我们所有的控制器都继承自该控制器。您可以使用其中任何一个来满足您的要求。

    【讨论】:

    • 谢谢你的工作,对于 ServiceStack API,你还需要这样的东西: this.RequestFilters.Add((httpReq, httpResp, requestDto) => { var customUserSession = SessionFeature.GetOrCreateSession( cacheClient); //这里的任何逻辑都将在每个 api 请求上运行 });
    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    相关资源
    最近更新 更多