C#监测服务器异常

意义:编写一个window service,独立于程序之外,定时的访问指定的连接,当连接可以访问的时候,说明网站连接是正常的,否则,网站挂了。挂了就邮件、短信提醒。

window service服务还可以监测所有访问的信息,例如ip什么的,可以做到访问的拦截。个人觉得黑名单ip应该是服务器做的,服务器没有再在程序里面写。

但是现实的需求是,客户的服务器是自己的,然后他们的服务器并没有什么安全而言,而他们原来的程序也是没有拦截这个功能点,然后这个就很尴尬了,需要我们帮他们做这个服务器的访问拦截。

操作:

编写服务:

  • vs创建window service 服务程序。
  • APP.config 是配置文件,可以在此处写程序参数,方便后期的修改
  • <div><appSettings>
    <!--网页链接-->
    <add key="webUrl" value="http://localhost:91/admin/main.aspx"/></div>
    <div>    <!--存储黑名单文件路径-->
    <add key="blackPath" value="C:\ssmapMonitor\black"/>
    <!--黑名单文件名-->
    <add key="blackFileName" value="blackList"/>
    </appSettings></div>

  • 启动程序是Program.cs,主程序是Service.cs(可以重命名)要修改服务的安装名可以右键service设计内service.cs,点击属性,修改name。
  • 具体实现就看需求了
  • 监听请求服务是使用
listener = new HttpListener();
listener.Start();
listener.Prefixes.Add("http://localhost:91/admin/"); //    "/"结尾
HttpListenerContext context = listener.GetContext();

#region

这个地方你可以通过context获取你需要的访问信息,ip,请求地址等等

还可以做一些相对应的操作处理

#endregion

context.Response.Close();
listener.Stop();

调试服务:

  • 安装服务
  • 启动调试,找到相对应的安装服务,将程序附加到进程。
  • 设断点可以调试(以上均为管理员身份打开vs)


安装服务:

  1. 以管理员身份打开命令行。
  2. 找到你InstallUtil.exe的路径(一般而言是在C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe) ,为了方便也可配置成系统环境变量。设为A
  3. 找到你的程序生成的路径(这个就因人而异了)。设为B
  4. 安装 命令行A B 就可。
  5. 卸载 命令行A /u B
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值