Winform: режим обслуживания клиентов?

В asp.net есть app_offline.htm, который позволяет корректно завершить работу сайта. Я хочу реализовать подобную функцию в клиенте. Есть флаг, чтобы установить режим обслуживания, если флаг включен:

  • Когда пользователь запускает клиент, ему будет предложено что-то вроде "система находится на обслуживании, повторите попытку через 30 минут".
  • Любые новые операции обновления / удаления / добавления, аналогичное сообщение с запросом.
  • Текущие запросы будут обработаны.

Как это реализовать?

2 ответа

Решение

Учитывая различия в архитектуре приложения, это не то, что будет иметь решение типа "один размер подходит всем", которое будет работать для всех.

app_offline.html для веб-приложений - это действительно "кувалда". Приложение не работает, да, это изящно, но это 100% жесткая остановка.

Примитивный способ сделать это в вашем приложении может состоять в том, чтобы вам звонили в службу поддержки, которую вы делаете на регулярной основе в режиме "онлайн" или аналогичный. Если он возвращает false, принудительно выйдите из текущей формы и покажите заставку.

Но это действительно будет зависеть от архитектуры.

Вы можете поставить условие при запуске клиента, но если вы хотите использовать такое же поведение, как app_offline.htm, вы также можете включить в обслуживание уже открытый клиент.

В этом случае вы можете установить MessageFilter для перехвата любого события во всем приложении Winforms.

Другие вопросы по тегам