(一)windwos服务定时跑程序(业务逻辑写在项目里面,windows服务定时调用项目里面得接口)


(一)windwos服务得调用逻辑

public partial class Service1 : ServiceBase
{
System.Timers.Timer time;//计时器
public Service1()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{


if (DateTime.Now.Hour==10)//开启服务就第一次执行
{
UseHttpWebRequestVoid();
}
time = new System.Timers.Timer();
time.Interval = 30 * 60 * 1000; //10*60*1000为10分钟
time.Elapsed += new System.Timers.ElapsedEventHandler(ToDo);//委托定时执行一个方法
time.Enabled = true;
}

protected override void OnStop()
{
}
///


/// 要执行得事务
///

private void ToDo(object sender, System.Timers.ElapsedEventArgs e)
{
UseHttpWebRequestVoid();
}

void UseHttpWebRequestVoid()
{

HttpWebRequestVoid(".........../Sendmsg");
}
void HttpWebRequestVoid(string url)
{
//当前时间为设置的时间点时再执行
if (DateTime.Now.Hour==10)
{
string strResult = "";
try
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = 0;

HttpWebResponse HttpWResp = (HttpWebResponse)myRequest.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader sr = new StreamReader(myStream, Encoding.UTF8);
StringBuilder strBuilder = new StringBuilder();
while (sr.Peek() != -1)
{
strBuilder.Append(sr.ReadLine());
}
strResult = strBuilder.ToString();
//FileHelper.WriteLogFile(string.Format("[{0}]恭喜你,已经成功调用{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), url));
}
catch (Exception ex)
{
//FileHelper.WriteLogFile(string.Format("[{0}]抱歉,有错误:{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ex.Message));
}

}
}
}

(二)webapi接口

public class csjdController : ApiController
{

//需要服务调用得接口方法

[HttpPost]
public void Sendmsg()
{

安装服务:

(1):cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319

(2):InstallUtil "D:\网站项目ssssssssss\北海项目\项目\新建文件夹\windows服 务\ProjectReminder\ProjectReminder\bin\Debug\ProjectReminder.exe"

(3):卸载服务 sc delete testwebsocket