Так как Sumit Saini не опубликовал свой код, я добавлю код, который я написал для презентации конференции с использованием .Net Core.Исходный код получил события из сетки событий, но его легко изменить, чтобы использовать простой веб-крючок.
Контроллер определяет конечную точку для получения события и передает ее в SignalR:
[ApiController]
[Produces("application/json")]
public class EventHandlerController : Controller
{
private readonly IHubContext<NotificationHub> _hubContext;
public EventGridEventHandlerController(IHubContext<NotificationHub> hubContext)
{
_hubContext = hubContext;
}
[HttpPost]
[Route("api/EventHandler")]
public IActionResult Post([FromBody]object request)
{
object[] args = { request };
_hubContext.Clients.All.SendCoreAsync("SendMessage", args);
Console.WriteLine(truck);
return Ok();
}
}
В классе-концентраторе нет специального кода - вы просто определяете его как обычный:
public class NotificationHub : Hub
{
public async Task SendMessage(Message message)
{
await Clients.All.SendAsync("Notification", message);
}
}
Клиент также является стандартной реализацией SignalR.
Вы можете найти болееобщее руководство по SignalR здесь: https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.2&tabs=visual-studio
Вы также можете использовать SignalR в качестве услуги или Центр уведомлений для достижения этого результата.