/// <summary> /// Render a static view page locally directly instead of rendering from database content. /// Note that every view should have a layout section defined (_ViewStart.cshtml will not work in this case) /// /// Folloring rendering rule applies: /// http://host:port/ --- ~/Views/Default.cshtml /// http://host:post/en-gb/ --- ~/Views/en-gb/Index.cshtml /// http://host:post/en-gb/mobile --- ~/Views/en-gb/mobile/Index.cshtml (if Mobile.cshtml is not found, fallback to ~/Views/en-gb/mobile/Index.cshtml /// -------------------------------------------------------------------------- following urls should have equivlent patterns /// http://host:post/en-gb/help/rules --- ~/Views/en-gb/help/rules.cshtml /// </summary> /// <param name="url"></param> /// <param name="mvcRequestContext"></param> /// <returns></returns> public CmsEngine.Response ProcessFakeRequest(Uri url, MvcRequestContext mvcRequestContext) { // look for culture strings var abs = (url.AbsolutePath == "/") ? "/Default" : url.AbsolutePath; var cultureRegex = new System.Text.RegularExpressions.Regex(@"^\/(?<culture>[a-zA-Z]{2}\-[a-zA-Z]{2})?\/?"); var result = cultureRegex.Match(url.AbsolutePath); var culture = result.Groups["culture"]; if (culture.Success && abs.EndsWith(culture.Value)) { abs += "/Index"; } var viewName = string.Format("~/Views{0}.cshtml", abs); // Fallback to Index.cshtml if abs file is not found if (!System.IO.File.Exists(Server.MapPath(viewName))) { viewName = string.Format("~/Views{0}.cshtml", abs + "/Index"); } var pageHtmlBuilder = mvcRequestContext.RenderRazorViewToString(viewName: viewName, languageCode: culture.Success ? culture.Value : "", model: new object()); if (pageHtmlBuilder == null) { return new CmsEngine.Response { Type = CmsEngine.ResponseType.PageNotFound } } ; return(new CmsEngine.Response { Body = pageHtmlBuilder.ToString(), Type = CmsEngine.ResponseType.OK }); }
public void Execute(IJobExecutionContext context) { try { var host = new MvcApiHost("api/Customer/BatchUpdateApplyInfoesPrice"); var request = new MvcRequestContext<string>() { Content = string.Empty }; var response = RzHttpClient.Post<RequestContext<string>, ResponseContext<bool>>(host, request); if (response.HasContent() && response.Result.Content) { return; } Log.Info("Rongzi.SDT.Schedule", "RequeirmentPriceJob", string.Format("RequeirmentPriceJob == host:{0} /r request:{1} /r response:{2}", host.ToString(), Newtonsoft.Json.JsonConvert.SerializeObject(request), Newtonsoft.Json.JsonConvert.SerializeObject(response))); CommonLogger.Info("RequeirmentPriceJob 任务运行成功结束"); } catch (Exception ex) { CommonLogger.Error("Rongzi.SDT.Schedule---RequirementPriceJob", ex); } }
public virtual ActionResult ProcessFakeAngularRequest() { if (AtPreviewMode() && InvalidCrossSiteAuth()) { return(new HttpUnauthorizedResult()); } var url = _httponContextBase.Request.Url; var mvcRequestContext = new MvcRequestContext(ControllerContext, ViewData, TempData); // look for culture strings var absolutePath = url.AbsolutePath.ToLower().Replace("/templates", "").Replace(".html", "").Replace(".htm", ""); var abs = (absolutePath == "/") ? "/Default" : absolutePath; var cultureRegex = new System.Text.RegularExpressions.Regex(@"^\/(?<culture>[a-zA-Z]{2}\-[a-zA-Z]{2})?\/?"); var result = cultureRegex.Match(absolutePath); var culture = result.Groups["culture"]; if (culture.Success && abs.EndsWith(culture.Value)) { abs += "/Index"; } var viewName = string.Format("~/Views{0}.cshtml", abs); // Fallback to Index.cshtml if abs file is not found if (!System.IO.File.Exists(Server.MapPath(viewName))) { viewName = string.Format("~/Views{0}.cshtml", abs + "/Index"); } var pageHtmlBuilder = mvcRequestContext.RenderRazorViewToString(viewName: viewName, languageCode: culture.Success ? culture.Value : "", model: new object()); if (pageHtmlBuilder == null) { return(HttpNotFound()); } else { var htmlStr = pageHtmlBuilder.ToString(); // Remove Layout definition var regex = new Regex("Layout\\s=\\s\\\".*\\.cshtml\";"); var newMarkup = regex.Replace(htmlStr, ""); return(Content(newMarkup)); } }
/// <summary> /// 调用接口获取省份信息 /// </summary> /// <param name="isHot"></param> /// <returns></returns> private static Dictionary<int, ProvinceModel> GetProvinceMap(int isHot) { //请求参数 var request = new MvcRequestContext<string>(); ApiHost host = new MvcApiHost("api/Common/Province?isHot=" + isHot); var ret = RzHttpClient.Post<RequestContext<string>, ResponseContext<List<ProvinceModel>>>(host, request).Result; if (ret.Head.Ret != 0 || ret.Content == null) { return null; } return ret.Content.ToDictionary(k => k.ProId, v => v); }
public MailsController(MvcRequestContext context) { _context = context; }
public InformationSystemsController(MvcRequestContext context) { _context = context; }
/// <summary> /// 调用接口,取某个城市下的区域 /// </summary> /// <param name="cityID"></param> /// <returns></returns> public List<DistrictModel> GetDistricts(int cityID) { ApiHost host = new MvcApiHost("api/Common/District"); RequestContext<int> req = new MvcRequestContext<int>(); req.Content = cityID; var res = RzHttpClient.Post<RequestContext<int>, ResponseContext<List<DistrictModel>>>(host, req); if (res.HasContent()) { return res.Result.Content; } return null; }
public DocumentsIBsController(MvcRequestContext context, IHostingEnvironment environment) { _context = context; _env = environment; }
public SubdivitionsController(MvcRequestContext context) { _context = context; }
public examplesController(MvcRequestContext context) { _context = context; }
public TablelawsController(MvcRequestContext context) { _context = context; }
public PostListsController(MvcRequestContext context) { _context = context; }