Ejemplo n.º 1
0
        /// <summary>
        /// 根据条件判断是否允许生成HTML
        /// </summary>
        /// <param name="routes"></param>
        /// <returns></returns>
        protected bool IsBuildHtml(ResultExecutedContext context)
        {
            if (MinInterval <= 0)
            {
                return(true);
            }

            var path = Common.GetWebRootPath(context.RouteReplace(Template));

            var fi = new FileInfo(path);

            if (!fi.Exists)
            {
                return(true);
            }

            var time = fi.LastWriteTime.DateDiff(DateTime.Now);

            return(time >= TimeSpan.FromSeconds(MinInterval));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 写HTML
        /// </summary>
        /// <param name="context"></param>
        /// <param name="viewResult"></param>
        protected void WriteHtml(ResultExecutedContext context, ViewResult viewResult)
        {
            var _logger = Web.GetService <ILogger <RazorHtmlStaticAttribute> >();

            try
            {
                var html = viewResult?.ToHtml(context.HttpContext, IsPartialView);

                if (string.IsNullOrWhiteSpace(html))
                {
                    return;
                }

                var path = Common.GetWebRootPath(context.RouteReplace(Template));

                FileHelper.Create(path, html);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "生成html静态文件失败");
            }
        }