Наш клиент хотел бы знать , кто онлайн и в настоящее время использует пользовательское приложение, которое мы для него написали. Я обсуждал это с ними, и это не обязательно должно быть точно , больше сработает.
Итак, моя мысль - это 15-минутный интервал для определения активности пользователя. Вот некоторые идеи, которые у меня есть для этого:
Пропишите в своей записи пользователя дату и время их последнего действия каждый раз, когда они делают что-то, что попадает в базу данных или запрашивает веб-страницу ... хотя это может быть довольно интенсивно в базе данных.
Отправьте запрос «кто онлайн» из нашего программного обеспечения, ищите ответы, это можно сделать через запланированный промежуток времени, а затем поставьте отметку в записи пользователя с текущей датой и временем для каждого полученного мной ответа.
Что вы думаете? И как бы вы справились с этой ситуацией?
Разъяснение
Я бы хотел использовать одну и ту же архитектуру как для Windows, так и для Интернета, если это возможно. У меня есть один уровень бизнес-логики, с которым взаимодействуют несколько пользовательских интерфейсов, может быть Windows или Интернет.
Под Windows я имею в виду клиент-сервер.
Разъяснение
Я использую n-уровневую архитектуру, поэтому мои бизнес-объекты обрабатывают все взаимодействия с уровнем представления. Этот уровень представления может обеспечивать клиент-серверное приложение Windows, веб-приложение, веб-службу и так далее.
Это не приложение с высоким трафиком, так как оно было разработано для наших клиентов, может быть, максимум 100 пользователей.