Exemplo n.º 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();
            }
        }
        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();
            }
        }