using Microsoft.AspNetCore.Builder;
using System.Diagnostics;
using System.Reflection;
namespace LiveForum.Code.Extend;
///
///
///
public static class UseAppDefaultRequest
{
///
/// 添加默认请求
///
///
public static void UseAppRequest(this WebApplication app, string name = "")
{
app.MapGet("/", () => $"请求成功=》{name}==>{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}").WithName("默认请求");
var startDateTime = DateTime.Now;
var InformationalVersion = Assembly.GetEntryAssembly().GetCustomAttribute().InformationalVersion;
Console.WriteLine($"version:{InformationalVersion}");
app.MapGet("/system", () =>
{
using Process currentProcess = Process.GetCurrentProcess();
// CPU使用率 (一般是一个0-100之间的值,但实际是时间占比,需要转换)
double cpuUsage = currentProcess.TotalProcessorTime.TotalMilliseconds / Environment.TickCount * 100;
// 已用内存 (字节)
long memoryUsage = currentProcess.WorkingSet64;
return new
{
msg = $"系统信息:启动时间:{startDateTime.ToString("yyyy-MM-dd HH:mm:ss")},已安全运行时间:{DateTime.Now.Subtract(startDateTime).TotalMinutes.ToString("0.##")}分钟",
startDateTime,
MemoryUsage = $"{memoryUsage / (1024.0 * 1024.0):F2}MB",
CPUUsage = $"{cpuUsage:F2}%"
};
}).WithName("获取系统数据");
}
}