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
|
}
|