Trying to resolve httpContext when there is no httContext

--HG--
branch : dev
This commit is contained in:
Sébastien Ros
2010-09-22 09:05:51 -07:00
parent 3cbb532327
commit ae11f911a5
+16 -9
View File
@@ -43,16 +43,23 @@ namespace Orchard.Mvc {
} }
static RequestContext RequestContextFactory(IComponentContext context) { static RequestContext RequestContextFactory(IComponentContext context) {
var httpContext = context.Resolve<HttpContextBase>(); var httpContextAccessor = context.Resolve<IHttpContextAccessor>();
var mvcHandler = httpContext.Handler as MvcHandler; var httpContext = httpContextAccessor.Current();
if (mvcHandler != null) { if (httpContext != null) {
return mvcHandler.RequestContext;
}
var hasRequestContext = httpContext.Handler as IHasRequestContext; var mvcHandler = httpContext.Handler as MvcHandler;
if (hasRequestContext != null) { if (mvcHandler != null) {
if (hasRequestContext.RequestContext != null) return mvcHandler.RequestContext;
return hasRequestContext.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()); return new RequestContext(httpContext, new RouteData());