mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Trying to resolve httpContext when there is no httContext
--HG-- branch : dev
This commit is contained in:
@@ -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());
|
||||||
|
|||||||
Reference in New Issue
Block a user