ServiceStack滑动到期

时间:2015-08-03 13:10:52

标签: servicestack

我正在研究一个小型项目核心,它诞生于一年多以前。

我必须启用滑动过期,我想知道它现在是否支持SS中的开箱即用。

有人知道是否有办法添加滑动过期而不必用属性标记所有POCO?

1 个答案:

答案 0 :(得分:1)

ServiceStack's Request Pipeline中的过滤器支持相同的签名,其中Request or Response Filter Attribute中可以执行的任何操作也可以在Global Request or Response Filter中完成。

使用[SlideExpiration]响应过滤器属性的sliding Sessions example,例如:

public class SlideExpirationAttribute : ResponseFilterAttribute
{
    ...
    public override void Execute(
        IHttpRequest req, IHttpResponse res, object requestDto)
    {
        var session = req.GetSession();
        if (session != null) req.SaveSession(session, this.Expiry);
    }
}

只是重新保存会话,以便通过新的会话到期重新保存,这可以通过以下方式在全局响应过滤器中完成:

GlobalResponseFilters.Add((req, res, dto) =>
{
    var session = req.GetSession();
    if (session != null)
        req.SaveSession(session);
});