示例#1
0
        internal static IMailboxContext GetMailboxContext(HttpContext httpContext, AuthZClientInfo effectiveCaller = null, bool create = true)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }
            ClientSecurityContext overrideClientSecurityContext = (effectiveCaller == null) ? null : effectiveCaller.ClientSecurityContext;
            UserContextCookie     userContextCookie;
            UserContextKey        userContextKey = UserContextManager.GetUserContextKey(httpContext, overrideClientSecurityContext, out userContextCookie);

            if (!create)
            {
                return(UserContextManager.GetMailboxContextFromCache(userContextKey));
            }
            return(UserContextManager.AcquireUserContext(httpContext, effectiveCaller, userContextKey, userContextCookie));
        }