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

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 13: Строка 13:
  '''select''' '''count'''(*) '''as''' day '''from''' sessionCommonStatisticsTable '''where''' sessionCreationTime >= <сегодняшняя_дата> and sessionCreationTime < <завтрашняя_дата>
  '''select''' '''count'''(*) '''as''' day '''from''' sessionCommonStatisticsTable '''where''' sessionCreationTime >= <сегодняшняя_дата> and sessionCreationTime < <завтрашняя_дата>


== Сделать ==
=== БД публикующихся файлов ===
=== БД публикующихся файлов ===
При публикации файла в таблицу БД <tt>'''filePublicationTable'''</tt> записывается некоторая информация о нем:
При публикации файла в таблицу БД <tt>'''filePublicationTable'''</tt> записывается некоторая информация о нем:
Строка 22: Строка 21:
  '''authorName''' — имя пользователя (Guest для гостя)
  '''authorName''' — имя пользователя (Guest для гостя)
  '''publicationTime''' — время публикации
  '''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>
== Сделать ==
=== Регистрация пользователей ===
=== Авторизация пользователей ===
=== Роли пользователей ===


== Разобраться ==
== Разобраться ==

Версия от 09:42, 5 октября 2009

Сделано

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

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

  • 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: язык интегрированных запросов

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

Публикация

Как все-таки сделать публикацию, чтобы и не сложно, и абы что не публиковали? Что-то думать, или оставлять, как есть?