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
{
///
/// 系统客户端管理服务
///
[Route("System/[controller]/[action]")]
[EnableCors("Any")]
[ApiController]
public partial class ClientController : ControllerBase
{
///
/// Heartbeat(ApiAction(Data:Client))
/// 客户端心跳上送Api
///
///
///
[HttpPost]
public async Task Heartbeat([FromBody] ApiAction 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().GetClientMonitor().Heartbeat(action.Data, clientIP));
}
catch (System.Exception ex)
{
response = action.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
}//endClass
}