Существуют ли рамки для отслеживания активности пользователей? - PullRequest
8 голосов
/ 14 ноября 2011

Прежде чем я начал писать свои собственные пользовательские классы, мне было интересно, есть ли уже фреймворк для использования.

Это для приложения Winform / WPF. Я буду хранить такие вещи, как уровень заряда батареи, мощность WiFi, информация о жестком диске, информация об оперативной памяти и т. Д. Наряду с этим, мне нужно также записывать, что пользователь делал в то время, например, «вход в систему», «выход из системы» , «нажали определенную кнопку» и т. д.

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

Было бы здорово повторно использовать уже доступный код.

Спасибо всем за помощь!

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Вы не упоминаете, какой язык вы используете, но я предполагаю .Net из тега C # в вашем посте. В этом случае вы можете использовать log4net для регистрации активности пользователей и любых других полезных данных. Он поддерживает регистрацию в базах данных наряду со многими другими форматами.

0 голосов
/ 14 ноября 2011

Рассматривали ли вы классы провайдеров членства / ролей / профилей в .net. Эти классы .net обычно используются для приложений ASP.net, но по сути они представляют собой набор хранимых процедур и библиотек классов, которые позволяют отслеживать профиль пользователя и активность с веб-приложением. Есть даже возможность определить, вошел ли пользователь в данный момент в систему или нет.

Вы можете использовать следующее для создания таблиц и хранимых процедур для поддержки функциональности, которую вы ищете.

Инструмент регистрации ASP.NET SQL Server

Вам потребуется включить раздел System.Web в файл app.config со следующими дочерними узлами, чтобы ваше приложение могло эффективно использовать классы. Кроме того, вам нужно будет сослаться на библиотеку System.Web.Security в ваших ссылках и ваших заявлениях об использовании.

<system.web>
    <membership defaultProvider="MembeshipProvider">
      <providers>
        <clear/>
        <add connectionStringName="Test" name="MembeshipProvider"
             type="SqlMembershipProvider" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="RoleProvider">
      <providers>
        <add connectionStringName="Test" name="RoleProvider" type="System.Web.Security.SqlRoleProvider" />
      </providers>
    </roleManager>
    <profile defaultProvider="ProfileProvider">
      <providers>
        <clear/>
        <add name="ProfileProvider" type="System.Web.Profile.SqlProfileProvider"
             connectionStringName="Test"/>
      </providers>
      <properties>
        <add name="FirstName" type="System.String"/>
        <add name="LastName" type ="System.String"/>
        <add name="Email" type="System.String"/>
        .
    .
    .
      </properties>
    </profile>
</system.web>
...