liu 发布的文章

一、需求

我们有时候可能会想要做一些定时任务,例如每隔一段时间去访问某个网站,或者下载一些东西到我们服务器上等等之类的事情,这时候windows service 是一个不错的选择。

二、实现

1、打开Visua studio2013新建一个windows Service程序,我命名为TimerService

image

注意,这里的.NET Framwork框架的选择要与你电脑上的框架一致,我这里选择的是4.0

2、在Service1设计器中右击空白处选择查看代码

image

3.在Service1.cs中设定定时的时间间隔以及定时执行的任务这里的Onstart方法定义定时器的开始执行,执行的时间间隔,以及时间间隔达到后所要执行的方法,我这里是执行了一个文件写入的方法,代码如下

复制代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.IO;using System.Linq;using System.ServiceProcess;using System.Text;using System.Timers;namespace TimerService
{    public partial class Service1 : ServiceBase
    {
        Timer timer;        public Service1()
        {
            InitializeComponent();
        }        protected override void OnStart(string[] args)
        {
            timer = new Timer(1000);
            timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);
            timer.Start();
            WriteLog("服务启动");
        }        protected override void OnStop()
        {
            timer.Stop();
            timer.Dispose();
            WriteLog("服务停止");
        }        protected void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            WriteLog("服务执行中");
        }        protected void WriteLog(string str)
        {            string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log.txt";
            StreamWriter sw = null;            if (!File.Exists(filePath))
            {
                sw = File.CreateText(filePath);
            }            else
            {
                sw = File.AppendText(filePath);
            }
            sw.Write(str + DateTime.Now.ToString() + Environment.NewLine);
            sw.Close();
        }
    }
}

复制代码

4、在Service1设计器中右击空白处,选择添加安装程序,会添加一个ProjectInstaller设计器

image

5、在ProjectInstaller设计器中选择serviceProcessInstaller,右击查看属性,将Account的值改为LocalSystem

image

6、在ProjectInstaller设计器中选择serviceInstaller1,右击查看属性,这里的ServiceName就是要在服务器的服务中显示的名称,我将其命名我TimerService

image

7、右击解决方案,点击生成解决方案

三、安装

1、打开刚刚新建建项目所在的文件夹,找到bin文件下面的debug文件夹,即D:\用户目录\我的文档\Visual Studio 2013\Projects\TimerService\TimerService\bin\Debug,里面有个TimerService.exe应用程序,就是我们所要执行的项目

2、打开文件夹C:\Windows\Microsoft.NET\Framework\v4.0.30319,可以看到里面有一个InstallUtil.exe的应用程序,这就是我们要的安装工具,这里的Framework的版本与我们项目的Framework版本保持一致

3、打开cmd输入cd C:\Windows\Microsoft.NET\Framework\v4.0.30319指令,然后再输入InstallUtil D:\用户目录\我的文档\Visual~1\Projects\TimerService\TimerService\bin\Debug\TimerService.exe,即可完成安装

image

4、启动任务管理器,点击服务,找到名称TemrService的服务,右击启动,即可将创建的定时服务启动,这里的服务名称就是我们在项目的serviceInstaller1的属性里面设置的serviceName

image

5、在我们的D:\用户目录\我的文档\Visual Studio 2013\Projects\TimerService\TimerService\bin\Debug文件下面会发现多了一个log.txt的文件,就是我们在项目中创建的文件,打开即可看到项目正常执行

image

四、卸载

要卸载应用服务也很简单,只需要在cmd中输入以下指令即可

InstallUtil /u D:\用户目录\我的文档\Visual~1\Projects\TimerService\TimerService\bin\Debug\TimerService.exe

image


vs 2010创建Windows服务定时timer程序:

版权声明:本文为搜集借鉴各类文章的原创文章,转载请注明出处:  http://www.cnblogs.com/2186009311CFF/p/6401576.html

主要参照:

http://www.cnblogs.com/getpower/p/5703838.html 和 http://www.cnblogs.com/zhangs1986/p/3502026.html

出现问题:Windows服务安装异常:System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security

2种方法处理:

一、右键单击“以管理员身份运行”Visual Studio Command Prompt即可

二、以管理员身份运行vs,然后打开项目,再执行InstallService程序安装服务。

参考:http://blog.csdn.net/joyhen/article/details/42262305

 

关键步骤为:

1、更改启动项目:在Program.cs里改

2、serviceProcessInstaller1的主要属性,Accout:账户类型,LocalSystem本地系统服务;

3、以管理员身份运行cmd:输入cd C:\Windows\Microsoft.NET\Framework\v4.0.30319   ,运行,找到对应.net框架的目录

然后:

安装服务:installutil *:\*\*.exe

卸载服务:installutil /u *:\*\*.exe

*:\*\*.exe为window服务程序bin\debug下的exe运行文件。

 

具体操作后续更新,希望能帮到您!


介绍

forfiles是windows自带的一个批量删除命令,对于时间的判断是通过文件自身的修改日期属性进行判断,使用它来对历史文件进行判断删除是个不错的选择。

 

 

语法

forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]

 

[/p Path ]:指定路径,当然目录可以用“.” [/m SearchMask ]:搜索方式,默认是*.*  [/s ]:遍历子目录进行搜索,包括当前目录 [/d [{+ | - }] [{MM / DD / YYYY | DD }]]:选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,默认+ 其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天,默认是DD 。DD 的有效范围是0 - 32768 例如: /d -15:查找15天之前的文件 /d 2016/12/9:指定查找的文件日期为2016/12/9 [/c Command ]:指定要执行的命令,格式为[ /c "cmd /c rd /s/q @path" ];双引号里面的/c后接需要执行的命令。 变量: @file  显示文件名 @fname  显示无扩展名的文件名 @ext  显示文件扩展名 @path  显示文件的完整路径 @relpath  文件的相对路径 @isdir  如果文件类型是目录,则计算值为TRUE,否则值为FALSE @fsize  显示用字节表示的文件大小 @fdate  显示文件中上次修改的日期戳 @ftime  显示文件中上次修改的时间戳

示例

1.查看“d:\backup\data”目录下名称包含“--”,且修改时间大于15天的文件或者文件夹

forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c echo @path"

2.删除,/s/q(/s文件夹下存在文件也删除,/q强制删除不提示)

forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c rd /s/q @path"

 

备注:路径不支持"\\url\"这种共享路径,rd(删除文件夹),del(删除文件)

总结

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》


安全架构css

大型网站系统架构图

 

核心架构要素前端

大型网站系统架构图

 

高性能架构web

大型网站系统架构图

 

高可用架构浏览器

大型网站系统架构图

 

伸缩性架构缓存

大型网站系统架构图

 

可拓展性架构安全

大型网站系统架构图

 

* 前言服务器

前端架构网络

应用层架构session

安全架构 服务层架构 数据采集与监控架构

存储层架构

后台架构

数据中心机房架构

* 前端架构

用户请求到达网站应用服务器以前经历的环节,一般不包含网站业务逻辑,不处理动态内容。

1 浏览器优化技术: 页面缓存、合并HTTP减小请求数、使用页面压缩。

2 CDN: 内容分发网络, 部署在网络运营商网络。 静态页面分发到用户最近的CDN服务器。

3 动静分离: 静态资源(js、css)独立部署在专门的服务器集群, 和web动态服务分离, 使用专门

的域名(二级)。

4 图片服务: 独立部署图片服务器集群。

5 反向代理: 应用服务器、静态资源服务器、图片服务器以前, 提供页面缓存服务。

6 DNS: 域名服务, 能够用DNS负载均衡。

* 应用层架构

处理网站主要业务逻辑的地方。

1 开发框架。 分离美工和开发工程师,易于写做,内置安全策略。

2 页面渲染。 将动态内容和静态业务模板集成, 造成最终效果。

3 负载均衡。

4 session管理。 应用服务器集群,一般设计成无状态的,不保存上下文信息,须要专门的机制

管理session, 集群或者跨集群共享session。

5 动态页面静态化。 访问量特别大,且更新不频繁的动态页面静态化。

6 业务拆分。

7 虚拟化服务器。 一台物理机虚拟化多台虚拟服务器。

* 服务层架构

1 分布式消息。 低耦合。 更快的响应, 削峰填谷。

2 分布式服务。 SOA架构。

3 分布式缓存。

4 分布式配置。 配置修改实时推送。

大型网站系统架构图

 

想了解能够私信我!

1 SpringBoot+ 高并发消息处理 EDM?项目 实战

2 SpringBoot ELK?分布式 数据分析

3 Netty?高 并发 UTS?项目实战

4 SpringCloud?微服务+NoSQL+ 负载均衡平台设计


最近有朋友问我,家的新房子刚装修好,拉了一个电信的宽带,路由器设置好了可以上网;有些房间里面信号不好,手机连wifi后网速很慢。因此又买了一个无线路由器,不知道怎么设置,才能让另一个路由器也能上网?下面小编分享一个比较简单易学的方法给大家,首先给大家看看总体的连线图。

第一个路由器(主路由器)原先是设置好的,是可以正常上网的,所以这里不用管它连接好网线即可。下面主要是设置好第二个路由器(副路由器);①登陆第二个路由器的管理界面,不会的可以翻阅小编之前的文章(有详细介绍)。登陆之后把这个路由器的IP地址改一下,以免两个路由器的IP地址相同导致冲突无法上网。在左侧找到“网络参数-LAN口设置”接着在右边的IP地址那栏把192.168.1.1改成192.168.1.XX(2~255)之间任意一个数字即可。

②在左侧找到“DHCP服务器-DHCP服务”在右边把DHCP服务器选择不启用,保存即可;

③最后就是给这个路由器起个wifi名称和设置密码,左侧找到“无线设置—基本设置”在右边的“SSID号”那栏填上自己起的wifi名称,保存即可;紧接着给WiFi设个密码,在左侧找到“无线设置—无线安全设置”在右边的“WPA-PSK/WPA2-PSK”项的“PSK密码”输入自己设置的密码,保存即可。

到此整个路由器就完全设置好了,是不是很简单易学呢?希望本文对大家有所帮助,喜欢可以收藏关注下!