Для обновления вашего пользовательского интерфейса последними значениями вам необходимо выполнить следующие шаги
// Import this in componnet where your are updating the values
import { ChangeDetectorRef } from '@angular/core';
constructor(private cd: ChangeDetectorRef) {}
//call below method after you changes
this.cd.detectChanges();
Лично я использую очень простую методологию для любого вида автообновления :
Установщик должен позаботиться обо всем остальном. Сюда ты Всегда будет последняя версия и установщик с последней версией.
We investigated a handful of options and decided to use the AppLife Update library for our enterpise project.
AppLife Update can quickly and easily add auto update functionality for your .NET apps but is also flexible because of it's comprehensive API.
See the full list of features and some demo videos on their website.
Для простых приложений WPF, которые могут использовать установку Xcopy, вы можете использовать этот модуль AppUpdater . Это один исходный модуль, всего несколько строк кода, чтобы добавить возможность обновления в простое приложение WPF.
Это бесплатно.
Позвольте мне начать с того, что я основатель компании, у которой есть полное решение для обновления, которое включает:
wyUpdate решает все проблемы UAC в Vista / Windows 7 и все проблемы с правами доступа к файлам, которые неизбежно возникают, когда вы пытаетесь обновить сложное программное обеспечение.
Мы также предлагаем бесплатных лицензий на wyBuild для проектов с открытым исходным кодом , но если вы просто хотите создать собственное средство обновления, вы можете свободно использовать наш исходный код.
При этом, если вы хотите создать свою собственную программу обновления, вот несколько советов:
Хорошим местом для начала является wyUpdate и AutomaticUpdater исходный код, который я упоминал выше. Вы можете каннибализировать его и использовать в своих целях. Некоторые из алгоритмов, которые он содержит:
У нас также есть спецификации файлов здесь .
Поскольку автоматическое обновление является обязательным требованием, позвольте мне рассказать вам, как мы это делаем с помощью нашего элемента управления AutomaticUpdater .
Мы используем именованные каналы для связи между автономным средством обновления (wyUpdate) и элементом управления автоматического средства обновления, находящимся в форме вашей программы. wyUpdate сообщает о ходе выполнения автоматическому обновлению, а средство автоматического обновления может сообщить wyUpdate об отмене процесса, начале загрузки, начале извлечения и т. д.
Это позволяет отделить средство обновления от вашего приложения.
Фактически, точный код C # именованных каналов, который мы используем, включен в статью, которую я написал недавно: Многопроцессорное приложение C #, такое как Google Chrome .
Вот решение с открытым исходным кодом, которое я написал для удовлетворения конкретных потребностей, которые у нас были для приложений WinForms и WPF. Общая идея состоит в том, чтобы иметь максимальную гибкость при минимально возможных накладных расходах.
Итак, интеграция очень проста, и библиотека делает почти все за вас, включая операции синхронизации. Кроме того, он очень гибкий и позволяет вам определять, какие задачи выполнять и на каких условиях - вы создаете правила (или используете те, которые уже есть). И наконец, не в последнюю очередь это поддержка любых источников обновлений (веб, BitTorrent и т.д.) и любых форматов каналов - все, что не реализовано, вы можете просто написать для себя.
Холодные обновления (требующие перезапуска приложения) также поддерживаются и выполняются автоматически, если для задачи не указана «горячая замена».
Это сводится к одной DLL размером менее 70 КБ.
Более подробная информация на http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/
Код находится на http: //github.com/synhershko/NAppUpdate (Под лицензией Apache 2.0)
Я планирую расширить его, когда у меня будет больше времени, но, честно говоря, вы сможете быстро улучшить его самостоятельно для все, что он в настоящее время не поддерживает.
Автообновление служб WCF и веб-сайтов ASP.NET должно быть возможно с этим, используя «горячую замену» файлов и задачу «iisreset» там, где это необходимо.