C#中如何实现到了指定时间后执行一个方法?

捡咸鱼的二七 2020-07-01 11:55:31
想做个到指定时间抽随机数的功能,现在其他的都写好了,就差到点执行了,求教怎么实现?
顺便问下,站点开着的,Timer浏览器关闭网页后还在执行么?
...全文
2284 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lee_艷傑 2020-09-08
  • 打赏
  • 举报
回复
引用 9 楼 wanghui0380 的回复:
你大一俺们也不好说啥,也不好跟你提selfhost,quartZ,window服务了,只能告诉你IIS不适合做这个事情 你一定要做,按你得情况。我建议你用windows自己带得计划任务脚本去实现 当然网上可以找到“C# 编写windows 计划任务”得资料 https://www.cnblogs.com/eliza209/p/11980512.html
这大哥说的没问题, 任务计划程序可以实现, 自己可以定义执行时间,次数等。
shawn_yang 2020-08-24
  • 打赏
  • 举报
回复
windows有个at指令,你用批处理都可以定制
捡咸鱼的二七 2020-07-02
  • 打赏
  • 举报
回复
引用 8 楼 以专业开发人员为伍 的回复:
许多东西都是这样的,初学者学的东西跟商品化系统的设计实践完全是反的,所以做出来的东西往往都做个封装来应付当前几天任务,甚至培训学校的老师教的东西90%都是以这个“纯粹糊弄应聘”套路为核心,而你上线时才会发现需要赶紧重新设计系统。但是只有“反着学”才能理解学会最基础的东西,才能帮你不断地耗费青春去重新学习。这个世界就是这样。 [quote=引用 7 楼 qq_40519336 的回复:]网上找的多数都是Timer实现的,现在纠结的就是浏览器关闭网页后会不会执行(已经触发了Timer情况下)
我已经说过了,再重复一遍,你要说明你说的 Timer 是什么框架里的 Timer?为什么能起作用?我上面已经说了14年前的 asp.net ajax 的 Timer 控件的机制是什么样的,它随着 asp.net ajax 整个框架而去了。你使用某个框架设计你的 web 页面和系统,要懂其原理。 网络系统要懂得分而治之。该是纯粹 windows service 服务器开发东西,不要随便放到 web 服务器上。web服务器就好像是界面的一个载体,并不是真正的服务。[/quote] 懂了,麻烦你了,谢谢指教!
wanghui0380 2020-07-02
  • 打赏
  • 举报
回复
你大一俺们也不好说啥,也不好跟你提selfhost,quartZ,window服务了,只能告诉你IIS不适合做这个事情 你一定要做,按你得情况。我建议你用windows自己带得计划任务脚本去实现 当然网上可以找到“C# 编写windows 计划任务”得资料 https://www.cnblogs.com/eliza209/p/11980512.html
  • 打赏
  • 举报
回复
许多东西都是这样的,初学者学的东西跟商品化系统的设计实践完全是反的,所以做出来的东西往往都做个封装来应付当前几天任务,甚至培训学校的老师教的东西90%都是以这个“纯粹糊弄应聘”套路为核心,而你上线时才会发现需要赶紧重新设计系统。但是只有“反着学”才能理解学会最基础的东西,才能帮你不断地耗费青春去重新学习。这个世界就是这样。

引用 7 楼 qq_40519336 的回复:
网上找的多数都是Timer实现的,现在纠结的就是浏览器关闭网页后会不会执行(已经触发了Timer情况下)

我已经说过了,再重复一遍,你要说明你说的 Timer 是什么框架里的 Timer?为什么能起作用?我上面已经说了14年前的 asp.net ajax 的 Timer 控件的机制是什么样的,它随着 asp.net ajax 整个框架而去了。你使用某个框架设计你的 web 页面和系统,要懂其原理。

网络系统要懂得分而治之。该是纯粹 windows service 服务器开发东西,不要随便放到 web 服务器上。web服务器就好像是界面的一个载体,并不是真正的服务。
捡咸鱼的二七 2020-07-02
  • 打赏
  • 举报
回复
引用 6 楼 以专业开发人员为伍的回复:
[quote=引用 3 楼 qq_40519336 的回复:][quote=引用 1 楼 智者知已应修善业的回复:]主程序内开时钟,检测服务器时间即可。

怎么开时钟,求教,我大一,没学这个[/quote]

那么你学到技术还要几年时间。现在先学基础,先把 javascript 学好,利用前端的命令提交语句(例如 jQuery.post) 轮询访问 web 服务器,唤醒服务器来进行某种操作,并将服务器执行结果作为语句返回,前端 js 再来展现。先用这种入门级的做法来模拟。这就好像是说一个初学者以为自己仿开发一个微信的服务器,他设计为几亿人每秒钟都轮询一次服务器,认为服务器以及网络根本不会死掉,先用这种入门级的思路(但是是完全错误的思路)来把最基本的基础知识学一些。[/quote] 在服务端处理主要是考虑到安全问题,而且ajax请求关了网页不就不处理了么...想实现的是定时执行,比如说今天下午5点执行服务端中的某个方法,网上找的多数都是Timer实现的,现在纠结的就是浏览器关闭网页后会不会执行(已经触发了Timer情况下)
  • 打赏
  • 举报
回复
引用 3 楼 qq_40519336 的回复:
[quote=引用 1 楼 智者知已应修善业的回复:]主程序内开时钟,检测服务器时间即可。

怎么开时钟,求教,我大一,没学这个[/quote]

那么你学到技术还要几年时间。现在先学基础,先把 javascript 学好,利用前端的命令提交语句(例如 jQuery.post) 轮询访问 web 服务器,唤醒服务器来进行某种操作,并将服务器执行结果作为语句返回,前端 js 再来展现。先用这种入门级的做法来模拟。这就好像是说一个初学者以为自己仿开发一个微信的服务器,他设计为几亿人每秒钟都轮询一次服务器,认为服务器以及网络根本不会死掉,先用这种入门级的思路(但是是完全错误的思路)来把最基本的基础知识学一些。
  • 打赏
  • 举报
回复
别说“浏览器关闭网页”,就算是浏览器上打开着网页“发呆”的时候,web 服务器端没有收到什么你的网页的请求,不会处理什么东西。

asp.net webform 可能有个 Timer 控件,它使用 asp.net ajax 机制来一遍遍在服务器端重建整个页面,只不过是使用 html 片段刷新机制来在浏览器端局部刷新。这适合办公室内千兆宽带网里边写一些小OA。

实际商业项目开发,服务器端应该是一个独立服务,例如 windows service,来担当服务器独立角色,例如所谓的“抽取数据”工作。然后独立的业务服务器要把数据推送给 web 服务器(例如某 asp.net 网站),这个网站通过 websocket 协议推送给正在线上的网页。或者 windows service 直接通过 websocket 推送消息给网页(前提是网页先独立跟服务端建立了双向连接)。这是最近6、7年的 html5 技术。
捡咸鱼的二七 2020-07-02
  • 打赏
  • 举报
回复
引用 2 楼 it_gz_xi的回复:
写个服务在后台定时执行,页面定时刷新就好
怎么写,求教,才大一,没学过这些
捡咸鱼的二七 2020-07-02
  • 打赏
  • 举报
回复
引用 1 楼 智者知已应修善业的回复:
主程序内开时钟,检测服务器时间即可。
怎么开时钟,求教,我大一,没学这个
it_gz_xi 2020-07-02
  • 打赏
  • 举报
回复
写个服务在后台定时执行,页面定时刷新就好
  • 打赏
  • 举报
回复
主程序内开时钟,检测服务器时间即可。
ying1234 2020-07-02
  • 打赏
  • 举报
回复
什么页面和web服务器建立websocket,然后推送数据到客户端,再web服务器和windows service建立双向连接,对于学生来说难了点,可以慢慢研究。到了指定时间后执行一个方法,建一个window service定时执行这个方法,方法结果保存到数据库,然后你页面打开定时扫描相应数据库,得到更新数据,还管什么效率,让老师看到结果正确就行。
捡咸鱼的二七 2020-07-02
  • 打赏
  • 举报
回复
引用 9 楼 wanghui0380的回复:
你大一俺们也不好说啥,也不好跟你提selfhost,quartZ,window服务了,只能告诉你IIS不适合做这个事情 你一定要做,按你得情况。我建议你用windows自己带得计划任务脚本去实现 当然网上可以找到“C# 编写windows 计划任务”得资料 https://www.cnblogs.com/eliza209/p/11980512.html
好的,谢谢

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧