Ejemplo n.º 1
0
        private void ActionRender(IDictionary parameters, TextWriter writer)
        {
            UrlBuilderParameters urlBuilderParameters = UrlBuilderParameters.From(parameters);

            var         urlInfo    = new UrlInfo(urlBuilderParameters.Area, urlBuilderParameters.Controller, urlBuilderParameters.Action);
            IController controller = Context.Services.ControllerFactory.CreateController(urlBuilderParameters.Area,
                                                                                         urlBuilderParameters.Controller);
            IControllerContext controllerContext = Context.Services.ControllerContextFactory.Create(urlBuilderParameters.Area,
                                                                                                    urlBuilderParameters.
                                                                                                    Controller,
                                                                                                    urlBuilderParameters.Action,
                                                                                                    Context.Services.
                                                                                                    ControllerDescriptorProvider
                                                                                                    .BuildDescriptor(
                                                                                                        controller));

            IEngineContext engineContext = Context.Services.EngineContextFactory.Create(container, urlInfo,
                                                                                        Context.UnderlyingContext,
                                                                                        new RouteMatch());

            engineContext.CurrentController        = controller;
            engineContext.CurrentControllerContext = controllerContext;

            var childMonoRailHttpHandler = new ChildMonoRailHttpHandler(engineContext, controller, controllerContext);

            Context.UnderlyingContext.Server.Execute(new HttpHandlerWrapper(childMonoRailHttpHandler), writer, true);
        }
Ejemplo n.º 2
0
		private void ActionRender(IDictionary parameters, TextWriter writer)
		{
			UrlBuilderParameters urlBuilderParameters = UrlBuilderParameters.From(parameters);

			var urlInfo = new UrlInfo(urlBuilderParameters.Area, urlBuilderParameters.Controller, urlBuilderParameters.Action);
			IController controller = Context.Services.ControllerFactory.CreateController(urlBuilderParameters.Area,
																						 urlBuilderParameters.Controller);
			IControllerContext controllerContext = Context.Services.ControllerContextFactory.Create(urlBuilderParameters.Area,
																									urlBuilderParameters.
																										Controller,
																									urlBuilderParameters.Action,
																									Context.Services.
																										ControllerDescriptorProvider
																										.BuildDescriptor(
																											controller));

			IEngineContext engineContext = Context.Services.EngineContextFactory.Create(container, urlInfo,
																						Context.UnderlyingContext,
																						new RouteMatch());

			engineContext.CurrentController = controller;
			engineContext.CurrentControllerContext = controllerContext;

			var childMonoRailHttpHandler = new ChildMonoRailHttpHandler(engineContext, controller, controllerContext);

			Context.UnderlyingContext.Server.Execute(new HttpHandlerWrapper(childMonoRailHttpHandler), writer, true);
		}