我们都知道iis的程序池默认的闲置回收时间是20分钟,

如果是自己的服务器,我们可以设置成0,闲置不回收。

这样网站就不会出现每隔20分钟没有访客访问就出现打开非常慢的情况。

但是,如果个别网站不是用自己的服务器,只是买了一个虚拟空间,空间商不给我们设置这个请求,那就比较麻烦了。。每隔20分钟就要忍受网站的龟速,难道就没有解决办法了吗?当然有!

我们可以创建一个Windows服务,放到我们自己的服务器上,每隔十几分钟,定时刷新放在虚拟空间上的网站,这样就解决了上述问题!

1、创建windwos服务

这里说的很明白了,就不再阐述,https://www.cnblogs.com/mq0036/p/7875864.html

2、只贴一下服务使用FluentScheduler定时器自动刷新网页的代码

protected override void OnStart(string[] args)
{
writeLog("服务启动");
writeLog("开始刷新网页"); if (File.Exists(configfile))
{
var jsonStr = File.ReadAllText(configfile);
var sites = JsonConvert.DeserializeObject<dynamic>(jsonStr); foreach (var item in sites.site)
{
string url = item.url;
int time = item.time;
Registry registry = new Registry();
registry.Schedule(async ()=> { await GetHtmlAsync(url, time); }).WithName(url).ToRunNow().AndEvery(time).Minutes();
JobManager.Initialize(registry);
}
}
} private async Task GetHtmlAsync(string url,int time)
{
Stopwatch sw = new Stopwatch();
sw.Start();
var http = new HttpClient();
http.DefaultRequestHeaders.Add("User-Agent", "ozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
var response = await http.GetAsync(url);
if (response.IsSuccessStatusCode)
{
sw.Stop();
writeLog($"已刷新 {url},状态码:{response.StatusCode}, 耗时{sw.Elapsed.TotalMilliseconds}毫秒, {time}分钟后继续执行刷新!");
}
else
{
writeLog($"刷新失败,发生未知错误!{response.StatusCode}");
}
} protected void writeLog(string str)
{
using (FileStream stream = new FileStream(filePath, FileMode.Append))
using (StreamWriter writer = new StreamWriter(stream))
{
writer.WriteLine($"{DateTime.Now} - {str}");
}
}

2、站点配置文件的代码

{
"site": [
{
"url": "https://www.baidu.com",
"time": 19
},
{
"url": "https://www.cnblogs.com",
"time": 18
}
]
}

  

  

创建Windows service使用FluentScheduler定时刷新网页的更多相关文章

  1. response常见应用、response细节、输出随机图片、定时刷新网页

      response常见应用 向客户端输出中文数据 分别以OutputStream和PrintWriter输出 多学一招:使用HTML语言里面的<meta>标签来控制浏览器行为 思考:用O ...

  2. C#创建Windows Service(Windows 服务)基础教程

    Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...

  3. 创建Windows Service

    基本参照使用C#创建Windows服务,添加了部分内容 目录 创建Windows Service 可视化管理Windows Service 调试 示例代码 创建Windows Service 选择C# ...

  4. C# 创建Windows Service(Windows服务)程序

    本文介绍了如何用C#创建.安装.启动.监控.卸载简单的Windows Service 的内容步骤和注意事项. 一.创建一个Windows Service 1)创建Windows Service项目 2 ...

  5. .NET 6学习笔记(2)——通过Worker Service创建Windows Service

    通过Visual Studio中的Windows Service模板,我么可以创建.NET Framework版本的Windows Service,网络上对此已有详细且丰富的各路教程.但在我们升级到. ...

  6. C# 创建Windows Service

    当我们需要一个程序长期运行,但是不需要界面显示时可以考虑使用Windows Service来实现.这篇博客将简单介绍一下如何创建一个Windows Service,安装/卸载Windows Servi ...

  7. 【C#】C#创建Windows Service服务

    目录结构: contents structure [+] 创建Windows服务 配置 安装Windows服务 在Visual Studio中调试 常见问题 最近写了一个TCP连接的程序,由于这种通信 ...

  8. 目前.NET Core创建Windows Service比较好的一个开源框架:DasMulli.Win32.ServiceUtils

    新建一个.NET Core控制台程序,搜索并下载Nuget包:DasMulli.Win32.ServiceUtils GitHub 链接及使用指南 Write a windows service us ...

  9. 通过TopShelf简单创建windows service

    目前很多项目都是B/S架构的,我们经常会用到webapi.MVC等框架,实际项目中可能不仅仅是一些数据的增删改查,需要对数据进行计算,但是将计算逻辑放到api层又会拖累整个项目的运行速度,从而会写一些 ...

  10. 使用.net 创建windows service

    最近公司项目需要,写了个windows 服务,windows 服务的内容可以在VS 中新建一个"windows服务项目", (1)服务中的主要代码: public partial ...

随机推荐

  1. 网络波动下的救星:ToDesk云电脑性能测试,以赛博朋克2077、巫师3为例

    随着网络技术的不断发展,云电脑作为一种新兴的云端计算机逐渐进入大众视野.对于游戏玩家而言,云电脑不仅解决了高配置电脑价格昂贵的问题,还让玩家在任何网络环境下随时随地享受高性能的游戏体验. 特别是在网络 ...

  2. AI五子棋_09 消息循环实现自动对局

    AI五子棋 第九步 恭喜你到达第九步! 上一步我们已经完成了一个AI大脑的最核心功能.我们可以用它来对战了. 访问服务器 http://202.207.12.156:9012/join_game,会返 ...

  3. house of stom

    完成事项 house of stom学习 未完成事项 wmctf的blineless没打通 如何解决未完成事项 下周待做事项 house of orange house of lore 本周学习的知识 ...

  4. ESP8266 + MQTT (platformio 开发环境)加用户名和密码

    ESP8266 + MQTT git 地址: https://gitee.com/zhudachangs/esp8266-mqtt.git (如果无法打开说明在审核) 引用库 include < ...

  5. mysql skip-name-resolve 的解释

    PHP交流群  717902309 为PHP广大爱好者提供技术交流,有问必答,相互学习相互进步! mysql连接很慢,登陆到服务器上查看mysql日志:IP address 'XX.XX.XX.XX' ...

  6. 汉文博士 0.5.9 测试版发布:增加统一码中日韩表意文字扩展 G 区的构型检索和 GB/T2312、GBK字表

    之前我们采用的构型数据库在 2019 年起未见更新,但我最近在该数据库的页面找到了该数据库的基础数据源(CHISE),而该数据源上提供了中日韩表意文字扩展 G 区的构型数据.这样,在构型检索中支持扩展 ...

  7. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现五

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  8. 『玩转Streamlit』--图像与媒体组件

    Streamlit中的图像与媒体组件,主要是st.image.st.audio和st.video. 它们是专为在Streamlit Web应用程序中嵌入和展示多媒体内容而设计的,这些组件不仅丰富了应用 ...

  9. Python 在PDF中绘制线条、矩形、椭圆形

    在PDF中绘制图形可以增强文档的视觉效果.通过添加不同类型的形状,如实线.虚线.矩形.圆形等,可以使文档更加生动有趣,提高读者的阅读兴趣.这对于制作报告.演示文稿或是教材特别有用.本文将通过以下几个示 ...

  10. Jax中关于NonZero的使用

    技术背景 在Jax的JIT即时编译中,会追踪每一个Tensor的Shape变化.如果在计算的过程中出现了一些动态Shape的Tensor(Shape大小跟输入的数据有关),那么就无法使用Jax的JIT ...