<h1 style="font-size: 32px; font-weight: bold; border-bottom: 2px solid rgb(204, 204, 204); padding: 0px 4px 0px 0px; text-align: left; margin: 0px 0px 10px;">asp.net 补充功能</h1><p><span style="list-style: none; margin: 0px; padding: 0px; border: 0px; font-family: "Microsoft YaHei"; white-space: break-spaces; ">工程源码下载:</span><a href="http://www.bilibili996.com/Course?id=32fc85b737374ecdab3af777a0477f1e" target="_blank" title="GPS定位系统VUE版本源码下载" style="list-style: none; text-decoration-line: none; margin: 0px; padding: 0px; border: 0px; font-family: "Microsoft YaHei"; white-space: break-spaces; ">GPS定位系统VUE版本源码下载</a></p><p><br/></p><p><span style="font-style: italic; font-weight: bold; color: rgb(51, 153, 204); line-height: 18px; font-size: 18px;">补充功能1:添加后台运行方法</span><br/></p><p>如果你要添加一个一直运行的后台程序,又不想使用计划任务,有一种办法是在ServerInit.cs文件中启动一个线程,方法如下。</p><p>在项目目录下新建一个"APP/Service.cs"的文件,代码如下,模拟程序一直运行,按每秒输出一个时间信息。</p><pre class="brush:c#;toolbar:false">using Serilog;
namespace WebApplicationApi.APP
{
public class Service
{
/// <summary>
/// 后台的一些自定义应用可以在这里面写
/// </summary>
public void TaskService()
{
while (true)
{
Log.Information(DateTime.Now.ToString());
Thread.Sleep(1000);
}
}
}
}</pre><p><br/></p><p>启动方法如下,在ServerInit.cs文件中添加并调用如下方法。</p><pre class="brush:c#;toolbar:false">/// <summary>
/// 启动后台应用
/// </summary>
private void AppStart()
{
new Thread(() =>
{
new Service().TaskService();
})
{ IsBackground = true }.Start();
}</pre><p><br/></p><p><span style="font-style: italic; font-weight: bold; color: rgb(51, 153, 204); line-height: 18px; font-size: 18px;">补充功能2:添加计划任务</span></p><p>新建“APP/jobs.cs”文件,将两个job任务添加进去。</p><pre class="brush:c#;toolbar:false">using Quartz;
namespace WebApplicationApi.APP
{
/// <summary>
/// 计划任务1
/// </summary>
public class JobDemo1 : IJob
{
private readonly ILogger<JobDemo1> _logger;
public JobDemo1(ILogger<JobDemo1> logger)
{
_logger = logger;
}
Task IJob.Execute(IJobExecutionContext context)
{
_logger.LogInformation($"{DateTime.Now}:计划任务1");
return Task.CompletedTask;
}
}
/// <summary>
/// 计划任务2
/// </summary>
public class JobDemo2 : IJob
{
private readonly ILogger<JobDemo2> _logger;
public JobDemo2(ILogger<JobDemo2> logger)
{
_logger = logger;
}
Task IJob.Execute(IJobExecutionContext context)
{
_logger.LogInformation($"{DateTime.Now}:计划任务2");
return Task.CompletedTask;
}
}
}</pre><p><br/></p><p>在前面“Program.cs”文件中,还记得我们添加的job服务么,调用的就是上面两个JobDemo1和JobDemo2。</p><p><img class="pimg" src="http://www.bilibili996.com/upload/image/7de096a7aeaf4789992d4edb3e7e8b73.jpg?638576767994936273" title="QQ截图20240727113310.jpg" alt="QQ截图20240727113310.jpg"/></p><p><br/></p><p>添加结果如下,这样后台应用和job服务,我们就都写好了。</p><p><img class="pimg" src="http://www.bilibili996.com/upload/image/ff42c481ee3e417880ee416db8b5ed8f.jpg?638576768802439233" title="QQ截图20240727113433.jpg" alt="QQ截图20240727113433.jpg"/></p><p><br/></p><p><br/></p>
asp.net 补充功能 工程源码下载: GPS定位系统VUE版本源码下载
补充功能1:添加后台运行方法
如果你要添加一个一直运行的后台程序,又不想使用计划任务,有一种办法是在ServerInit.cs文件中启动一个线程,方法如下。
在项目目录下新建一个"APP/Service.cs"的文件,代码如下,模拟程序一直运行,按每秒输出一个时间信息。
using Serilog;
namespace WebApplicationApi.APP
{
public class Service
{
/// <summary>
/// 后台的一些自定义应用可以在这里面写
/// </summary>
public void TaskService()
{
while (true)
{
Log.Information(DateTime.Now.ToString());
Thread.Sleep(1000);
}
}
}
}
启动方法如下,在ServerInit.cs文件中添加并调用如下方法。
/// <summary>
/// 启动后台应用
/// </summary>
private void AppStart()
{
new Thread(() =>
{
new Service().TaskService();
})
{ IsBackground = true }.Start();
}
补充功能2:添加计划任务
新建“APP/jobs.cs”文件,将两个job任务添加进去。
using Quartz;
namespace WebApplicationApi.APP
{
/// <summary>
/// 计划任务1
/// </summary>
public class JobDemo1 : IJob
{
private readonly ILogger<JobDemo1> _logger;
public JobDemo1(ILogger<JobDemo1> logger)
{
_logger = logger;
}
Task IJob.Execute(IJobExecutionContext context)
{
_logger.LogInformation($"{DateTime.Now}:计划任务1");
return Task.CompletedTask;
}
}
/// <summary>
/// 计划任务2
/// </summary>
public class JobDemo2 : IJob
{
private readonly ILogger<JobDemo2> _logger;
public JobDemo2(ILogger<JobDemo2> logger)
{
_logger = logger;
}
Task IJob.Execute(IJobExecutionContext context)
{
_logger.LogInformation($"{DateTime.Now}:计划任务2");
return Task.CompletedTask;
}
}
}
在前面“Program.cs”文件中,还记得我们添加的job服务么,调用的就是上面两个JobDemo1和JobDemo2。
添加结果如下,这样后台应用和job服务,我们就都写好了。