Asp.Net 5分钟实现网页实时监控
 更新时间:2020年06月16日 22:10:53   作者:Emrys5  

在项目开发中经常会用到监控功能,下面通过本篇文章给大家介绍Asp.Net 5分钟实现网页实时监控,需要的朋友可以参考下

一、为什么会用到网页实时监控
 LZ最近在无锡买房了,虽然在上海工作,但是上海房价实在太高无法承受,所以选择还可以接受的无锡作为安身之地。买过房的小伙伴可能知道买房的流程,买房中间有一步很重要的就是需要商品房备案,简单点说就是你买房时可以在政府商品房备案网站处查看你购买房的备案情况,如果是已经备案了开发商还在卖这套房子,那肯定就是一房多卖了。而且很重要一点就是,只有备过案,才能进行下一步银行贷款,在目前银行利息越来越高的情况下,肯定是越早备案越早贷款越有利,所以以最快速度知道自己购买房子的备案情况尤为重要。
当然也可以每天到网站查询自己的备案情况,显然这不是程序员的做法,更不是.Net程序员的做法。程序员的做法肯定是备案一旦下来,程序老老实实的通知到手机上。顺便吐槽一点,查询备案的网站真慢。
二、选择windows服务、窗体(winform)、web还是控制台程序?
当然最合适的肯定是windows服务,winform和web肯定也可以的,控制台程序不一定是最合适的,但肯定开发是最快速的。综合考虑了一下,因为是一个很小的监控项目而且只会用一两个月,或者一两天,所以没变要搞那么复杂,而且windows服务还要安装到服务器,最重要的是控制台是最快开发和最容易部署的,所以最终选择了控制台程序。
三、分析需求
1、需要每隔几分钟查询一次备案情况,所以需要System.Timers.Timer。当然如果是非常健壮的或者是完整的项目,建议用Quartz.NET,当然可以选择Topshelf、Hangfire、FluentScheduler等等。
2、因为需要查询网站的备案情况,获取备案网页的html,然后判断html中是否含有“待售”字样即可,如果没有就说明已经备案了。 这时需要System.Net.WebClient。查询网站.net下就更多了,最基础的就是HttpWebRequst,HttpClient,或者用RestSharp,都是不错的选择。
3、因为需要实时通知情况,所以选择了阿里云的短信通知,因为其他项目用到,所以直接复制代码来用。当然也有很多通知,比如邮件,app,等等。当然我们没必要搞那么复杂。
四、代码模块
直接代码,逻辑和代码很简单。

class Program
{
static System.Timers.Timer timer = null;
static void Main(string[] args)
{
timer = new System.Timers.Timer(2 * 60 * 1000);
timer.Elapsed += Timer_Elapsed; ;
timer.Start();
Console.ReadKey();
}
private static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
WebClient client = new WebClient
{
Encoding = System.Text.Encoding.GetEncoding(“utf-8”)
};
var html = client.DownloadString(“www.xxxx.com/xxxxx.html”);
Console.WriteLine(DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”) + “……” + “未签。”);
if (html.IndexOf(“待售”) == -1)
{
if (timer != null)
timer.Stop();
// 发送5条短信
for (int i = 0; i < 5; i++)
{
// 发送短信
SmsMessage.Send(“152****7178”, “SMS_92310001”, new { name = “Emrys”, status = “恭喜恭喜恭喜,房子已签售!” });
Thread.Sleep(5 * 1000);
}
}
}
}

五、部署
好吧,这项没啥以及意义,直接生成代码,在bin目录拷贝Debug文件夹直接扔到服务器,点击运行xxxxxxx.exe。部署完毕。^_^
六、总结
1、虽然当时只是突发奇想,并没有具体统计时间,拿起vs就是一顿突突。所有代码和部署应该不会超过5分钟。 从这可以看出.Net在vs配合下在一些方面做的还是不错的。
2、现在.Net core开源跨平台以及运行速度,C#“优美的语言”,vs宇宙第一IDE,其他不多说,望.Net越来越好。

以上所述是小编给大家介绍的Asp.Net 5分钟实现网页实时监控,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对华域联盟网站的支持!

您可能感兴趣的文章:ASP.NET MVC5使用MiniProfiler监控MVC性能关于.NET/C#/WCF/WPF 打造IP网络智能视频监控系统的介绍

asp.net
网页
监控

相关文章
ASP.Net MVC+Data Table实现分页+排序功能的方法这篇文章主要介绍了ASP.Net MVC+Data Table实现分页+排序功能的方法,结合实例形式分析了asp.net基于mvc架构实现的数据查询、排序、分页显示等相关操作技巧,需要的朋友可以参考下 2017-06-06
ASP.NET MVC 3仿Server.Transfer效果的实现方法这篇文章主要介绍了ASP.NET MVC 3仿Server.Transfer效果的实现方法,需要的朋友可以参考下 2015-10-10
asp.net request.PathInfo实现的url重写最近对在开始研究url重写,对重写的原理以及重写之后引起的性能问题是研究的重点,研究过程中发现了一种轻便的“url重写方案” 2009-04-04
.NET实现热插拔功能(动态替换功用)方案实例如果某个"功能"需要动态更新?这种动态更新,可能是需求驱动的,也可能是为了修改 BUG,面对这种场景,如何实现“热插拔”呢?先解释一下“热插拔”:在系统运行过程动态替换某些功能,不用重启系统进程。下面看例子 2013-11-11
增加asp.net应用程序性能的20种方法(简单有效)增加asp.net应用程序性能的20种方法小结,需要的朋友可以参考下,对于服务器也需要一些设置。 2010-01-01
一个事半功倍的c#方法 动态注册按钮事件前几天在网上看见一个制作计算器的c#程序,其中有一个动态注册按钮事件,觉的很有用。于是实际操作了一哈, 确实比较好。 2010-04-04
aspnet_regiis.exe命令使用方法本文主要介绍各个命令的对应的含义,以及简单说明具体的用法,希望对大家有所帮助。 2016-05-05
asp.net GridView控件中实现全选的解决方案在GridView中我们经常要利用复选按钮实现全选的功能,下面针对这一解决方案做以总结 2010-03-03
asp.net5中用户认证与授权(2)ASP.NET5主要提供了两种应用程序,其一就是ASP.NET5控制台程序,另外一个是ASP.NET Web 应用程序。本文给大家介绍asp.net5中用户认证与授权(2),需要的童鞋可以参考下 2015-10-10
ASP.NET页面请求超时时间设置多种方法这篇文章主要为大家详细介绍了ASP.NET页面请求超时时间设置Server.ScriptTimeOut executionTimeout多种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2016-09-09

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。