Juliet: мониторинг работы: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
(Новая: == Сделано == == Сделать == === Статистика посещаемости === === БД публикующихся файлов === == Разобраться ==)
 
Нет описания правки
 
(не показано 6 промежуточных версий 3 участников)
Строка 1: Строка 1:
== Сделано ==
== Сделано ==
=== Статистика посещаемости ===
Посещаемость отслеживается в двух таблицах:
* <tt>'''sessionCounterTable'''</tt>  <br />Имеет единственное поле value, которое инкрементируется при каждом посещении.
* <tt>'''sessionCommonStatisticsTable'''</tt>
Таблица <tt>'''sessionCommonStatisticsTable'''</tt> имеет следующую структуру:
'''visitID''' — идентификатор посещения (самоинкрементирующееся поле)
'''ip''' — строковое представление IP-адреса пользователя
'''sessionCreationTime''' — время посещения
При каждой новой сессии счетчик <tt>sessionCounterTable</tt> увеличивается, а в <tt>sessionCommonStatisticsTable</tt> добавляется новая запись. <br />
При каждой загрузке страницы считывается значение счетчика <tt>sessionCounterTable</tt>, которое записывается в метку ''общего количества посещений'', а также посылается запрос к БД, результатом которого является ''количество посещений текущего дня''. Формат запроса имеет вид:
'''select''' '''count'''(*) '''as''' day '''from''' sessionCommonStatisticsTable '''where''' sessionCreationTime >= <сегодняшняя_дата> and sessionCreationTime < <завтрашняя_дата>
=== БД публикующихся файлов ===
При публикации файла в таблицу БД <tt>'''filePublicationTable'''</tt> записывается некоторая информация о нем:
'''fileID''' — идентификатор файла
'''fileName''' — имя файла
'''fileDescription''' — описание файла
'''authorIP''' — строковое представление IP-адреса пользователя, опубликовавшего файл
'''authorName''' — имя пользователя (Guest для гостя)
'''publicationTime''' — время публикации
=== Регистрация пользователей ===
=== Авторизация пользователей ===
== В процессе ==
=== Регистрация ===
Пока на пробном проекте (каталог <tt>TempReg</tt>).
Регистрация пользователей осуществляется стандартными средствами ASP.NET, в частности — с помощь. элемента управления <tt>'''CreateUserWizard'''</tt>. Все, что тербуется — бросить его на страницу. Основная работа — в файле конфигурации <tt>Web.config</tt>.
<source lang="xml">
<configuration>
  ...
  <connectionStrings>
    <add name="SqlServices" connectionString=
      "server=195.208.237.204; database=aspnetdb;uid=aspnetdbuser;pwd=aspnetdbuserpass" />
  </connectionStrings>
  <system.web>
    ...
    <authentication mode="Forms" >
      <forms cookieless="AutoDetect">
      </forms>
    </authentication>
    <membership defaultProvider="SqlProvider"
      userIsOnlineTimeWindow="15">
      <providers>
        <clear/>
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          applicationName="ThisApplication"
          enablePasswordRetrieval="true"
          enablePasswordReset="true"
          passwordFormat="Clear"
          maxInvalidPasswordAttempts="10"
          minRequiredNonalphanumericCharacters="0"
          minRequiredPasswordLength="4"
          requiresUniqueEmail="true"
          requiresQuestionAndAnswer="false" />
      </providers>
    </membership>
    <profile defaultProvider="SqlProvider">
      <providers>
        <clear />
        <add name="SqlProvider"
          type="System.Web.Profile.SqlProfileProvider"
          connectionStringName="SqlServices"
          applicationName="ThisApplication"
          description="SqlProfileProvider for ThisApplication" />
      </providers>
    </profile>
    ....
  </system.web>
  ...
</configuration>
</source>
Нужно еще сделать '''подтверждение регистрации'''.


== Сделать ==
== Сделать ==
=== Статистика посещаемости ===
=== Роли пользователей ===
=== БД публикующихся файлов ===


== Разобраться ==
== Разобраться ==
=== LINQ: язык интегрированных запросов ===
== Для обсуждения ==

Текущая версия от 11:14, 17 октября 2010

Сделано

Статистика посещаемости

Посещаемость отслеживается в двух таблицах:

  • sessionCounterTable
    Имеет единственное поле value, которое инкрементируется при каждом посещении.
  • sessionCommonStatisticsTable

Таблица sessionCommonStatisticsTable имеет следующую структуру:

visitID — идентификатор посещения (самоинкрементирующееся поле)
ip — строковое представление IP-адреса пользователя
sessionCreationTime — время посещения

При каждой новой сессии счетчик sessionCounterTable увеличивается, а в sessionCommonStatisticsTable добавляется новая запись.
При каждой загрузке страницы считывается значение счетчика sessionCounterTable, которое записывается в метку общего количества посещений, а также посылается запрос к БД, результатом которого является количество посещений текущего дня. Формат запроса имеет вид:

select count(*) as day from sessionCommonStatisticsTable where sessionCreationTime >= <сегодняшняя_дата> and sessionCreationTime < <завтрашняя_дата>

БД публикующихся файлов

При публикации файла в таблицу БД filePublicationTable записывается некоторая информация о нем:

fileID — идентификатор файла
fileName — имя файла
fileDescription — описание файла
authorIP — строковое представление IP-адреса пользователя, опубликовавшего файл
authorName — имя пользователя (Guest для гостя)
publicationTime — время публикации

Регистрация пользователей

Авторизация пользователей

В процессе

Регистрация

Пока на пробном проекте (каталог TempReg).

Регистрация пользователей осуществляется стандартными средствами ASP.NET, в частности — с помощь. элемента управления CreateUserWizard. Все, что тербуется — бросить его на страницу. Основная работа — в файле конфигурации Web.config.

<configuration>
  ...
  <connectionStrings>
    <add name="SqlServices" connectionString=
      "server=195.208.237.204; database=aspnetdb;uid=aspnetdbuser;pwd=aspnetdbuserpass" />
  </connectionStrings>

  <system.web>
    ...
    <authentication mode="Forms" >
      <forms cookieless="AutoDetect">
      </forms>
    </authentication>

    <membership defaultProvider="SqlProvider"
      userIsOnlineTimeWindow="15">
      <providers>
        <clear/>
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          applicationName="ThisApplication"
          enablePasswordRetrieval="true"
          enablePasswordReset="true"
          passwordFormat="Clear"
          maxInvalidPasswordAttempts="10"
          minRequiredNonalphanumericCharacters="0"
          minRequiredPasswordLength="4"
          requiresUniqueEmail="true"
          requiresQuestionAndAnswer="false" />
      </providers>
    </membership>

    <profile defaultProvider="SqlProvider">
      <providers>
        <clear />
        <add name="SqlProvider"
          type="System.Web.Profile.SqlProfileProvider"
          connectionStringName="SqlServices"
          applicationName="ThisApplication"
          description="SqlProfileProvider for ThisApplication" />
      </providers>
    </profile>
    ....
  </system.web>
  ...
</configuration>

Нужно еще сделать подтверждение регистрации.

Сделать

Роли пользователей

Разобраться

LINQ: язык интегрированных запросов

Для обсуждения