Пользовательский приемник Webhook, прослушивающий уведомления веб-задания Azure - PullRequest
0 голосов
/ 18 февраля 2019

Можно ли создать приемник Webhook, который будет прослушивать уведомление веб-задания Azure всякий раз, когда какая-либо запись вставляется в базу данных (отслеживается веб-заданием)?Как только уведомление получено через веб-ловушку, пользовательский интерфейс должен представить уведомление пользователю.

1 Ответ

0 голосов
/ 27 февраля 2019

Так как 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 в качестве услуги или Центр уведомлений для достижения этого результата.

...