public class ConnectFilterProvider : IWebHookFilterProvider
{
public Task<Collection<WebHookFilter>> GetFiltersAsync()
{
IWebhookService service = new WebhookService();
Collection<WebHookFilter> _filters = new Collection<WebHookFilter>();
var allFilters = service.GetAllEvents().ToList();
foreach (var item in allFilters)
{
_filters.Add(new WebHookFilter { Name = item.Name, Description = item.Description });
}
return Task.FromResult(_filters);
}
}
Я настроил веб-приложение для создания новых событий, и когда это вновь созданное событие подписано, оно сообщает Следующие фильтры недопустимы: «MyEvent».Список допустимых фильтров можно получить по пути '../api/webhooks/filters'
Я остановил приложение, размещенное в IIS, и снова запустил его, пропало событие, и все работаетштраф.
Вышеупомянутый метод GetFiltersAsync
выполняется один раз, но его необходимо выполнять каждый раз, когда делается подписка, чтобы он мог иметь самый последний список событий из базы данных.
Как можнорешить эту проблему?