#c# #javascript #asp.net #sql #asp.net-mvc
#c# #javascript #asp.net #sql #asp.net-mvc
Вопрос:
У меня есть ASP.NET Веб-страница MVC, которая в основном отображает строки таблицы в базе данных MS SQL через фильтр даты. Я хотел бы обновить представление веб-страницы новым списком строк в то время, когда новая строка вставляется в таблицу базы данных.
Каков наиболее эффективный способ достижения этой цели? По сути, я хочу создать обратный вызов на сервер базы данных из моего javascript, чтобы обновить пользовательский интерфейс новыми результатами.
Предположим, что количество строк в таблице базы данных велико.(~ 1 миллион)
Спасибо, cas
Комментарии:
1. Правильное решение (push или poll) будет зависеть от того, как часто строки добавляются в таблицу.
2. строки добавляются так часто, скажем, через секунду.
Ответ №1:
Если обновления БД происходят очень часто, то вы можете продолжить с помощью метода опроса с определенным интервалом. В противном случае — вы можете рассмотреть использование кэширования с зависимостью Cache SQL, которая даст вам возможность аннулировать кэш, когда что-то меняется в серверной части.
Поскольку вы упомянули, что существует около миллиона записей, я предполагаю, что вы продумали бы оптимизацию запросов / индексы и т.д. Для повышения производительности.
Ответ №2:
Самый простой способ — через опрос.
Опрос с определенным интервалом.
Предполагая, что вы используете первичные ключи int, передайте первичный ключ последней строки через javascript методу action.
Выберите в методе action, где id > lastrow (он же новые строки).
Передавайте новые строки обратно из контроллера в формате json и визуализируйте их с помощью javascript на стороне клиента. Обновите значение «первичный ключ последней строки» для будущего опроса.
Ответ №3:
Вы можете использовать Websockets, который поддерживает двунаправленную связь. Вы можете использовать SuperWebSocket, сервер .NET websocket.
Комментарии:
1. Спасибо, я попробую эту библиотеку, но, похоже, это вызовет больше головной боли, чем решения.