/// <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); }
/// <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; }