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

View File

@ -43,16 +43,23 @@ namespace Orchard.Mvc {
}
static RequestContext RequestContextFactory(IComponentContext context) {
var httpContext = context.Resolve<HttpContextBase>();
var mvcHandler = httpContext.Handler as MvcHandler;
if (mvcHandler != null) {
return mvcHandler.RequestContext;
}
var httpContextAccessor = context.Resolve<IHttpContextAccessor>();
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());