我正在研究一个小型项目核心,它诞生于一年多以前。
我必须启用滑动过期,我想知道它现在是否支持SS中的开箱即用。
有人知道是否有办法添加滑动过期而不必用属性标记所有POCO?
答案 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);
});