From ae11f911a50f8e0dad8ea334f5acb74df4be3232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= Date: Wed, 22 Sep 2010 09:05:51 -0700 Subject: [PATCH] Trying to resolve httpContext when there is no httContext --HG-- branch : dev --- src/Orchard/Mvc/MvcModule.cs | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/Orchard/Mvc/MvcModule.cs b/src/Orchard/Mvc/MvcModule.cs index 76d24a5a6..b6dc2e4b8 100644 --- a/src/Orchard/Mvc/MvcModule.cs +++ b/src/Orchard/Mvc/MvcModule.cs @@ -43,16 +43,23 @@ namespace Orchard.Mvc { } static RequestContext RequestContextFactory(IComponentContext context) { - var httpContext = context.Resolve(); - var mvcHandler = httpContext.Handler as MvcHandler; - if (mvcHandler != null) { - return mvcHandler.RequestContext; - } + var httpContextAccessor = context.Resolve(); + var httpContext = httpContextAccessor.Current(); + if (httpContext != null) { - var hasRequestContext = httpContext.Handler as IHasRequestContext; - if (hasRequestContext != null) { - if (hasRequestContext.RequestContext != null) - return hasRequestContext.RequestContext; + var mvcHandler = httpContext.Handler as MvcHandler; + if (mvcHandler != null) { + return mvcHandler.RequestContext; + } + + var hasRequestContext = httpContext.Handler as IHasRequestContext; + if (hasRequestContext != null) { + if (hasRequestContext.RequestContext != null) + return hasRequestContext.RequestContext; + } + } + else { + httpContext = new HttpContextPlaceholder(); } return new RequestContext(httpContext, new RouteData());