没有使用带有MVC4的servicestack中的MemoryCacheClient进行身份验证的会话

时间:2015-07-09 11:13:46

标签: asp.net-mvc web-services rest servicestack

我是Servicestack的新手。我在不同的服务器上部署了MVC4应用程序和servicestack应用程序 。 我想在不使用MemoryCacheClient进行身份验证的情况下使用servicestack会话。

我无法理解

中给出的解释

https://github.com/ServiceStack/ServiceStack/wiki/Sessions

我想检查每个请求是否存在会话,如果seesion为null,则创建具有自定义值的新会话作为用户ID。

我的配置方法如下

public override void Configure(Container container)
        {
            //use session feature only

            Plugins.Add(new SessionFeature());

             // use MemoryCacheClient 

            container.Register<ICacheClient>(new MemoryCacheClient()); 

            // in global request filter check if session exists
            this.GlobalRequestFilters.Add((req, res, requestDto) =>
            {  
                //check if session exists 
                var sessionId = req.GetSessionId();
                if (sessionId == null)
                {
                    //if no populate session with user defined data ( user id from requestDto)
                }
                else
                { 
                   //how to get the values from session ?
                }
    }

请帮忙。 提前致谢

1 个答案:

答案 0 :(得分:1)

SessionFeature已经注册了自己的全局请求过滤器,以自动创建缺少的临时或永久会话ID(即ss-idss-pid)。

听起来您想要注册Custom AuthEvent来响应会话生命周期中的不同事件,即IAuthEvents.OnCreated()