示例#1
0
        public void DisposeOnPipelineCompleted()
        {
            foreach (var threadSafe in new[] { true, false })
            {
                var blankEnvironment = new Dictionary <string, object>();
                var context          = new OwinRequestScopeContext(blankEnvironment, threadSafe);

                var disp = new MonitorDisposable();
                disp.IsDisposeCalled.IsFalse();
                context.DisposeOnPipelineCompleted(disp);
                disp.IsDisposeCalled.IsFalse();

                context.AsDynamic().Complete(); // internal complete method

                disp.IsDisposeCalled.IsTrue();
            }
        }
示例#2
0
        public static Guid?GetUserIdGuid(this OwinRequestScopeContext context)
        {
            var userIdString = context.GetUserId();

            if (userIdString.IsNullOrWhitespace())
            {
                return(null);
            }

            Guid result;

            if (Guid.TryParse(userIdString, out result))
            {
                return(result);
            }

            return(null);
        }
示例#3
0
        public static long?GetUserIdLong(this OwinRequestScopeContext context)
        {
            var userIdString = context.GetUserId();

            if (userIdString.IsNullOrWhitespace())
            {
                return(null);
            }

            long result;

            if (long.TryParse(userIdString, out result))
            {
                return(result);
            }

            return(null);
        }
 public static string GetCorrelationId(this OwinRequestScopeContext context)
 {
     return(context.OwinContext.Get <string>(OwinEnironmentKey));
 }
        public void DisposeOnPipelineCompleted_Cancel()
        {
            foreach (var threadSafe in new[] { true, false })
            {
                var blankEnvironment = new Dictionary<string, object>();
                var context = new OwinRequestScopeContext(blankEnvironment, threadSafe);

                var disp = new MonitorDisposable();
                disp.IsDisposeCalled.IsFalse();
                var token = context.DisposeOnPipelineCompleted(disp);
                disp.IsDisposeCalled.IsFalse();

                token.Dispose();

                context.AsDynamic().Complete(); // internal complete method

                disp.IsDisposeCalled.IsFalse();
            }
        }
示例#6
0
 public static string GetUserId(this OwinRequestScopeContext context)
 {
     return(context.GetUser().IfNotNull(u => u.Identity.IfNotNull(i => i.GetUserId())));
 }
示例#7
0
 public static IPrincipal GetUser(this OwinRequestScopeContext context)
 {
     return(context.IfNotNull(c => c.OwinContext.IfNotNull(o => o.Authentication.IfNotNull(a => a.User))));
 }
 private Dictionary <ContractIdentity, ComponentCacheEntry> GetCacheDictionary(OwinRequestScopeContext context)
 {
     return(context.Items.GetOrAdd(ContextKey, s => new Dictionary <ContractIdentity, ComponentCacheEntry>())
            as Dictionary <ContractIdentity, ComponentCacheEntry>);
 }
 public static void SetComponentContext(this OwinRequestScopeContext context, IComponentContext componentContext)
 {
     context.OwinContext.SetComponentContext(componentContext);
 }
 public static void SetComposer(this OwinRequestScopeContext context, IComposer composer)
 {
     context.OwinContext.SetComposer(composer);
 }
 public static IComponentContext GetComponentContext(this OwinRequestScopeContext context)
 {
     return(context.IfNotNull(c => c.OwinContext.GetComponentContext()));
 }