Member 10622146 Ответов: 2

C# регистрирует активность пользователя в приложении winform


Мне было интересно, может ли кто-нибудь показать мне несколько хороших ссылок при регистрации активности пользователей в приложении winform. Я хотел бы войти в систему, когда пользователь входит в систему, когда пользователь выполняет определенные задачи, отправляет данные в базу данных и т. д...

Я хотел бы регистрировать эту активность либо в базе данных SQL, либо просто в обычном текстовом файле. Если у кого-то есть хорошие ссылки или примеры для просмотра, я был бы очень признателен.

[no name]

исследование "logging" и log4net.

Sergey Alexandrovich Kryukov

Разве вы не забыли FCL EventLog..? :-)
Я ответил: пожалуйста, смотрите. Ваши советы, конечно, заслуживают доверия.
—СА

Sergey Alexandrovich Kryukov

Вы уверены, что вся идея шпионажа за пользователем хороша? Может быть, причина другая и законная; я просто проверяю. Раньше я работал в одной известной организации, где создание любого программного обеспечения для мониторинга деятельности пользователей или сотрудников формально и строго запрещено политикой компании, юридическими и этическими соображениями...
—СА

Member 10622146

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

Sergey Alexandrovich Kryukov

Непонятный. Это шпионаж за активностью пользователей или нет?
Кстати, я ответил на ваш вопрос. Ваши последующие вопросы будут приветствоваться.
—СА

2 Ответов

Рейтинг:
14

Sergey Alexandrovich Kryukov

Прежде всего, вы должны поместить код пользовательского интерфейса в надлежащем порядке: вместо обработки всех этих кнопок и текстовых полей на специальной основе, обычно предлагаемой дизайнером. Вместо этого вам нужно абстрагировать набор централизованных действий, которые вызываются на необработанных управляющих событиях, таких как нажатие кнопки, изменение текста (кстати, не так просто в System.Windows.Forms, в отличие от некоторых других библиотек; вам придется обрабатывать необработанные события мыши/клавиатуры, а затем смотреть, изменяется ли текст), изменения выбора и так далее. Таким образом, например, если одно и то же логическое действие вызывается при нажатии на кнопку или нажатии клавиши по умолчанию, то оно будет обрабатываться одним и тем же действием.

Когда это будет сделано, вы можете (необязательно) добавить ведение журнала к каждому из этих действий. Одним из готовых к использованию инструментов ведения журнала является System.Diagnostics.EventLog:
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog%28v=vs.110%29.aspx[^].

Он записывает журналы в журнал системных событий, но приемник данных журнала можно настроить, а также почти все другие соответствующие детали. Пожалуйста, посмотрите мои прошлые ответы:
Вывод MsBuild в текстовое поле на лету в приложении Windows[^],
Как создать журнал событий в папке[^].

И да, как рекомендовал Уэс Адай, есть еще один вариант-log4net:
http://en.wikipedia.org/wiki/Log4net#Ports[^],
http://logging.apache.org/log4net[^].

—СА


Espen Harlinn

5 ЕД!

Sergey Alexandrovich Kryukov

Спасибо, Эспен.
—СА

Рейтинг:
1

Sprint89

Регистрация действий пользователей является важной частью аудита и необходима для соблюдения нормативных требований во многих ситуациях. Я использую блок приложений ведения журнала MS Enterprise Library, где это возможно:

http://msdn.microsoft.com/en-us/library/dn440731%28v=pandp.60%29.aspx[^]