ASP. NET Подходящий способ проверки изменений в базе данных - PullRequest
0 голосов
/ 17 июня 2020

У меня есть MySQL База данных и ASP. NET проект веб-приложения, которые связаны с использованием подхода Entity Framework 6, ориентированного на базу данных. Проект представляет собой приложение CRUD и использует веб-API. Это метод получения.

[HttpGet]
public IHttpActionResult getProducts()
{
    try
    {
        var prod = database.products.Select(x => new
        {
            product_id = x.product_id,
            name = x.name,
            image = x.image,
            original_price = x.original_price,
            original_GST = x.original_GST,
            photo_product = x.photo_product,
            visibility = x.visibility,
            quantity_constraint = x.quantity_constraint,
            description = x.description,
            pwp_price = x.pwp_price,
            pwp_GST = x.pwp_GST,
            updated_by = x.staff.name,
            updated_at = x.updated_at
        }
        ).ToList();
        return Ok(prod);
    }
    catch (Exception e)
    {
        return BadRequest(e.ToString());
    }
}

Итак, в javascript, когда страница загружена, я вызову функцию, которая использует вызов ajax для получения списка продуктов. Дело в том, что продукт вставлен другим проектом, поэтому я хочу проверить, вставлен ли какой-либо продукт в базу данных, а затем объект будет возвращен на страницу просмотра. Благодаря поиску в Google я обнаружил много подходов, таких как использование SQL Dependency, SignalR, Broker? и я не уверен, что выбрать и изучить, так как я новичок во всем этом. Есть ли способ попроще? Может быть, сделать ajax вызов каждые 5 секунд, но получить только вставленную / обновленную запись?

1 Ответ

1 голос
/ 17 июня 2020

Вызвать функцию JS через заданный интервал, она будет запускаться каждые 5 секунд.

 window.setInterval(function(){
      /// call your function here
    }, 5000);

Чтобы остановить l oop, вы можете использовать

clearInterval() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...