Exemple #1
0
        /// <summary>
        /// The set initialization context.
        /// </summary>
        /// <param name="context">The context.</param>
        public void SetInitializationContext([NotNull] object context)
        {
            Assert.ArgumentNotNull(context, "context");

            RequestInitializationContext requestInitializationContext = context as RequestInitializationContext;

            if (requestInitializationContext == null)
            {
                throw new NotSupportedException(string.Format("Only contexts derived from '{0}' are supported.", typeof(RequestInitializationContext).AssemblyQualifiedName));
            }

            HttpContext.Current = ((RequestInitializationContext)context).HttpContext;
        }
        public void ShouldGetInitializationActionsFromRequest()
        {
            object[] arguments = { "argument" };
            RequestInitializationContext context = new RequestInitializationContext(new Request {
                InitializationHandlers = { new InitializationHandler(typeof(SampleInitializationHandler), arguments) }
            }, new Response());
            RequestInitializationActionDiscoverer discoverer = new RequestInitializationActionDiscoverer();

            IEnumerable <InitializationAction> result = discoverer.GetInitializationActions(context).ToArray();

            Assert.Equal(1, result.Count());
            Assert.Equal(typeof(SampleInitializationHandler).FullName, result.Single().Id);
            Assert.IsType <InitializationHandler>(result.Single().State);
            Assert.Equal(typeof(SampleInitializationHandler), ((InitializationHandler)result.Single().State).Type);
            Assert.Equal(arguments, ((InitializationHandler)result.Single().State).Arguments);
            Assert.Equal(context, result.Single().Context);
        }
Exemple #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="WorkerRequest"/> class.
        /// </summary>
        /// <param name="initializationManager">The initialization Manager.</param>
        /// <param name="context">The request initialization context.</param>
        /// <param name="writer">The writer.</param>
        internal WorkerRequest(InitializationManager initializationManager, RequestInitializationContext context, TextWriter writer) : base(context.Request.Path, context.Request.QueryString, writer)
        {
            if (initializationManager == null)
            {
                throw new ArgumentNullException("initializationManager");
            }

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            this.connectionId = Interlocked.Increment(ref connectionCount);

            this.initializationManager = initializationManager;
            this.context = context;
        }
 /// <summary>
 /// The set initialization context.
 /// </summary>
 /// <param name="context">The context.</param>
 public void SetInitializationContext(object context)
 {
     this.initializationContext = (RequestInitializationContext)context;
 }