【问题标题】:C# create and update static html contentC# 创建和更新静态 html 内容
【发布时间】:2017-12-14 01:14:13
【问题描述】:

我想知道这个例子是否可行,以及对性能的影响是什么?

首先是关于静态内容和页面生命周期的问题。 我有一个页面“Latest_quote”。该页面是静态内容,只需每小时更新一次。我希望它是一个静态的 .html 页面,一旦被击中就会返回,因此不需要渲染或解析 html 文件,因此延迟尽可能低。因此,它不应该等待脚本完成运行或解析仅返回静态内容的 html 页面。但是我想要一个 C# 脚本来跟踪页面获得了多少访问者,但是这个脚本应该在返回静态内容之后或同时运行。这可能吗?

我还想要一个每小时运行一次的计时器作业来检查和更新静态页面。我可以在 C# ASP.NET 或 Razor 站点中运行计时器作业吗?页面在被新信息覆盖时会关闭吗?

【问题讨论】:

    标签: c# asp.net performance razor page-lifecycle


    【解决方案1】:

    性能方面静态页面是个好主意。

    对于作业,您可以使用 Quartz.net 任务调度程序。将此保存在您的 Global.asax.cs 文件中,Application_Start 方法中

    ISchedulerFactory sf = new StdSchedulerFactory();
            scheduler = sf.GetScheduler();
            scheduler.Start();
    
    IJobDetail jobDetail = JobBuilder.Create<HtmlUpdateJob>() // Class of the job
                    .WithIdentity("HtmlUpdateJob") //Name of job
                    .Build();
                ITrigger trigger = TriggerBuilder.Create()
                    .WithIdentity("UpdateTrigger") // Name of trigger
                    .StartNow()
                    .WithCronSchedule("0 0/60 * 1/1 * ? *") //every 60 mins
                    .Build();
                scheduler.ScheduleJob(jobDetail, trigger);
    

    更新作业类:

    internal class HtmlUpdateJob : IJob
    {
        public void Execute(IJobExecutionContext context)
        {
            // Update your html here
        }
    }
    

    确保您处理同时访问和写入 html 的情况。

    对于用户跟踪,尝试使用 Google Analytics 等外部工具,它会为您提供客户端 JavaScript,它将数据发布到某些服务器页面。 Google Analytics 可以为您提供更全面的访问者数据。

    或者,如果您的站点托管在本地 Intranet 上。您可以按照相同的方法创建一个服务器端页面,该页面可以由客户端 JavaScript 调用。

    【讨论】:

      猜你喜欢
      • 2014-08-03
      • 2018-05-28
      • 1970-01-01
      • 2019-08-06
      • 2012-09-07
      • 1970-01-01
      • 2016-01-30
      • 2022-01-20
      • 2016-07-14
      相关资源
      最近更新 更多