(一)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()
{
}
/// <summary>
/// 要执行得事务
/// </summary>
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现