53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
using Microsoft.Extensions.Hosting;
|
||
using System.Diagnostics.Metrics;
|
||
using System.Text;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
|
||
public class MyBackgroundService : BackgroundService
|
||
{
|
||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||
{
|
||
while (!stoppingToken.IsCancellationRequested)
|
||
{
|
||
//具体的后台任务逻辑
|
||
var url = "/api/product/Product_Information?Product006_ProductParameters"; // 替换成你的URL
|
||
var data = new { serviceId = "John Doe", Age = 30 }; // 创建要发送的数据对象
|
||
|
||
var jsonData = JsonConvert.SerializeObject(data);
|
||
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
|
||
|
||
var request = new HttpRequestMessage(HttpMethod.Post, url)
|
||
{
|
||
Content = content
|
||
};
|
||
|
||
// 添加请求头
|
||
request.Headers.Add("appId", "61320D6EEF5A48B7C32149DF991BED41");
|
||
request.Headers.Add("appKey", "85725BB0BCCEE8DB1AE2D5A48D393ABE");
|
||
|
||
HttpClient client = new HttpClient();
|
||
HttpResponseMessage response = await client.SendAsync(request);
|
||
|
||
response.EnsureSuccessStatusCode();
|
||
|
||
string responseBody = await response.Content.ReadAsStringAsync();
|
||
Console.WriteLine(responseBody);
|
||
|
||
|
||
|
||
|
||
|
||
try
|
||
{
|
||
await Task.Delay(TimeSpan.FromMinutes(10), stoppingToken); // 每隔10分钟执行一次
|
||
}
|
||
catch (TaskCanceledException)
|
||
{
|
||
// 当CancellationToken被触发时,Task.Delay会抛出TaskCanceledException。
|
||
// 这里可以什么都不做或者记录日志等,然后退出循环。
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
} |