服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-09-29 564d1fcca01d3c528e283c9feef3ea1a05140e17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Rhea.Common;
using Tiger.Model;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Tiger.IBusiness;
 
namespace Tiger.Api.Controllers.Base
{
    /// <summary>
    /// 系统客户端管理服务
    /// </summary>
    [Route("System/[controller]/[action]")]
    [EnableCors("Any")]
    [ApiController]
    public partial class ClientController : ControllerBase
    {
        /// <summary>
        /// Heartbeat(ApiAction(Data:Client))
        /// 客户端心跳上送Api
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<IActionResult> Heartbeat([FromBody] ApiAction<Client> action)
        {
            ApiAction response;
            try
            {
                //context.Connection.RemoteIpAddress
                var clientIP = Request.HttpContext.Connection.RemoteIpAddress.ToString().Replace("::ffff:", "");
                //response = action.GetResponse(await MonitorBus.ClientMonitor.Heartbeat(action.Data, clientIP));
                response = action.GetResponse(await DI.Resolve<IMonitorBus>().GetClientMonitor().Heartbeat(action.Data, clientIP));
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
    }//endClass
}