.Net 5分钟搞定网页实时监控
一、为什么会用到网页实时监控?LZ最近在无锡买房了,虽然在上海工作,但是上海房价实在太高无法承受,所以选择还可以接受的无锡作为安身之地。买过房的小伙伴可能知道买房的流程,买房中间有一步很重要的就是需要商品房备案,简单点说就是你买房时可以在政府处查看你购买房的备案情况,如果是已经备案了开发商还在卖这套房子,那肯定就是一房多卖了。而且很重要一点就是,只有备过案,才能进行下一步银行贷款,在目前银行利息越来越高的情况下,肯定是越早备案越早贷款越有利,所以以最快速度知道自己购买房子的备案情况尤为重要。 当然也可以每天到网站查询自己的备案情况,显然这不是程序员的做法,更不是.Net程序员的做法。程序员的做法肯定是备案一旦下来,程序老老实实的通知到手机上。顺便吐槽一点,查询备案的网站真慢。 二、选择windows服务、窗体(winform)、web还是控制台程序?当然最合适的肯定是windows服务,winform和web肯定也可以的,控制台程序不一定是最合适的,但肯定开发是最快速的。综合考虑了一下,因为是一个很小的监控项目而且只会用一两个月,或者一两天,所以没变要搞那么复杂,而且windows服务还要安装到服务器,最重要的是控制台是最快开发和最容易部署的,所以最终选择了控制台程序。 三、分析需求1、需要每隔几分钟查询一次备案情况,所以需要。当然如果是非常健壮的或者是完整的项目,建议用,当然可以选择Topshelf、Hangfire、FluentScheduler等等。 2、因为需要查询网站的备案情况,获取备案网页的html,然后判断html中是否含有“”字样即可,如果没有就说明已经备案了。?这时需要。查询网站.net下就更多了,最基础的就是HttpWebRequst,HttpClient,或者用RestSharp,都是不错的选择。 3、因为需要实时通知情况,所以选择了,因为其他项目用到,所以直接复制代码来用。当然也有很多通知,比如邮件,app,等等。当然我们没必要搞那么复杂。 四、代码模块直接代码,逻辑和代码很简单。 System.Timers.Timer timer =
Main( timer = System.Timers.Timer( * * timer.Elapsed +=
Timer_Elapsed( WebClient client = Encoding = System.Text.Encoding.GetEncoding(
html = client.DownloadString( Console.WriteLine(DateTime.Now.ToString() + + (html.IndexOf() == - (timer !=
( i = ; i < ; i++
SmsMessage.Send(,, { name = ,status = Thread.Sleep( *
}
五、部署好吧,这项没啥以及意义,直接生成代码,在bin目录拷贝Debug文件夹直接扔到服务器,点击运行xxxxxxx.exe。部署完毕。^_^ 六、总结1、虽然当时只是突发奇想,并没有具体统计时间,拿起vs就是一顿突突。所有代码和部署应该不会超过5分钟。 从这可以看出.Net在vs配合下在一些方面做的还是不错的。 2、现在.Net core开源跨平台以及运行速度,C#“优美的语言”,vs宇宙第一IDE,其他不多说,望.Net越来越好。^_^ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何在ASP.NET中的Web应用程序之间共享用户控件?
- asp.net-mvc – 使用@ Html.Partial渲染usercontrol(cshtml
- asp.net-mvc – Moq嘲笑一个类
- asp.net – Javascript之前asp:ButtonField点击
- .net – 何时设置HttpContext.User.Identity?
- 实体框架 – ASP.NET Web Api 2/EF6首次调用初始化性能
- ASP.Net MVC Ajax形式与jQuery验证
- asp.net-web-api – 在WebApi2项目中使用CacheOutput属性时
- asp.net-mvc-3 – 在ajax发布之前使用unobtrusive进行验证
- Neo4j查询在特定时间运行
- asp.net – 当你不能使用ViewState时你会怎么做?
- asp.net – 在脚本标签src属性中使用波浪号
- asp.net – MVC中的HTTPContext和Controllercont
- asp.net-mvc – 导出Excel文件以查看(MVC)
- entity-framework – 在MVC 5项目上使用ASP.NET
- asp.net-mvc – 启用SSL时,IIS默认为HTTPS的端口
- asp.net – aspnet_compiler找到错误版本的Syste
- asp.net-mvc-3 – 如果在Razor中的else语句不起作
- 使用Asp.net路由的IRouteHandler.GetHttpHandler
- Azure Event Hub 技术研究系列2-发送事件到Event