public ProxyRenderContext(ControllerContext controllerContext, PageRequestContext pageRequestContext, ProxyPosition proxyPosition, string requestPath) { this.ControllerContext = controllerContext; this.PageRequestContext = pageRequestContext; this.ProxyPosition = proxyPosition; if (string.IsNullOrEmpty(requestPath) && PageRequestContext != null) { requestPath = pageRequestContext.ModuleUrlContext.GetModuleUrl(proxyPosition.PagePositionId); } if (string.IsNullOrEmpty(requestPath)) { requestPath = proxyPosition.RequestPath; } requestPath = requestPath.Trim('~').Trim(); RequestUri = new Uri(proxyPosition.HostUri, requestPath); var httpMethod = controllerContext.HttpContext.Request.HttpMethod; if (httpMethod.ToUpper() == "POST" && pageRequestContext != null) { var postModule = pageRequestContext.AllQueryString[Kooboo.CMS.Sites.View.ModuleUrlContext.PostModuleParameter]; if (postModule != proxyPosition.PagePositionId) { httpMethod = "GET"; } } HttpMethod = httpMethod; }
public PageDesignProxyContent(ProxyPosition pos) : base(pos) { this.Parameter["Host"] = pos.Host; this.Parameter["RequestPath"] = pos.RequestPath; this.Parameter["NoProxy"] = pos.NoProxy.ToString().ToLower(); if (pos.OutputCache != null) { var outputCacheJson = new { Duration = pos.OutputCache.Duration, ExpirationPolicy = pos.OutputCache.ExpirationPolicy.ToString() }; var serializer = new JavaScriptSerializer(); var outputCacheJsonString = serializer.Serialize(outputCacheJson); this.Parameter.Add("OutputCache", PageDesignContent.Code(outputCacheJsonString)); } }
protected virtual IHtmlString RenderProxyPosition(ProxyPosition proxyPosition) { return ProxyRender.Render(PageContext, proxyPosition.PagePositionId, proxyPosition.Host, proxyPosition.RequestPath, proxyPosition.NoProxy, proxyPosition.OutputCache); }
protected virtual IHtmlString RenderProxyPosition(ProxyPosition proxyPosition) { return ProxyRender.Render(new ProxyRenderContext(PageContext.ControllerContext, PageContext.PageRequestContext, proxyPosition, null)); }