Знакомство с ASP.NET

Что еще нужно знать об ASP.NET

Взаимодействие с клиентом

Создание интерактивных приложений для intranet-сетей

Расширение функциональных возможностей intarnet

Создание спортивного Web-узла

Управление содержимым Web-узла

Отслеживание действий посетителейa

Виртуальный университет

 Использование специализированных приложений на узлах компаний

Виртуальная риэлтерская контора

Персонализация узла для посетителей

Интерактивные возможности узла

Увеличение посещаемости узла

Создание интерактивного магазина

Создание интерактивного аукциона

Web-службы

Справочник по языку ASP.NET/VB.


Сайт создан по материалам книги Г. Бучека "Учебный курс по ASP.NET". Москва: BHV, 2002.

Создатель сайта-выпускник курсов web-дизайнеров Сафоновского Колледжа Информационных Технологий Максим Котликов
На следующем этапе в таблицу Visitors добавляется новая запись. Обратите внимание на то, что для определения значений большинства полей используется объект Browser Capabilities:

    DBInsert.CommandText = "Insert Into Visitors " _
    & "(DateEntered, AOL, BackgroundSounds, Beta, Browser, " _
    & "Cookies, Crawler, MajorVersion, MinorVersion, " _
    & "Platform, Winl6, Win32) Values (GetDateO, " _
    & " " & BCaps.AOL &"',"_
    & " " & BCaps.BackgroundSounds & "', " _
    & " " & BCaps.Beta &"',"_
    & " " & BCaps.Browser & '", "
    & " " & BCaps.Cookies & "', " _
    & " " & BCaps.Crawler &"',"_
    & " " & BCaps.MajorVersion & "', " _
    & " " & BCaps.MinorVersion &"',"_
    & " " & BCaps.Platform & '", "
    & " " & BCaps.Winl6 & "', " _
    & " " & BCap^.Win32 & "')"

Объект Command будет использовать наш объект Connection

    DBInsert.Connection = DBConn
    DBInsert.Connection.Open

для того, чтобы обеспечить возможность добавить новую запись в базу данных:

    DBInsert.ExecuteNonQuery()

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

    DBCommand =- New OleDbDataAdapter _
    ("Select Max(VisitorlD) as MaxID "
    & "From Visitors", DBConn)

и поместить его в объект DataSet:

    DBCommand.Fill(DSData, _
    "CurrentID")

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

    Session("VisitorlD") = DSData.Tables("CurrentID").
    Rows(0).Item("MaxID")

После этого серверные переменные необходимо сохранить в объекте Collection:

    VisitorSV - Request.ServerVariables

Затем имена всех серверных переменных извлекаются и помещаются в один строковый массив:

    NameArray = VisitorSV.AllKeys

Чтобы обеспечить обработку каждого элемента массива, применяется цикл

    For I = 0 То UBound(NameArray)

Внутри цикла добавляется запись для имени и значения каждой серверной переменной:

    DBInsert.CommandText = "Insert Into ServerVariables " _
    & "(VisitorlD, KeyName, KeyValue) values (" _
    & Session{"VisitorlD") & ", "
    & "'" & NameArray(I) & "', " _
    & LeftTReplace(VisitorSV.Itemd) , ""', '"'"), 255)
    & " ')
    DBInsert.ExecuteNonQuery()

Страницы тестового узла

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

    Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBInsert As New OleDbCommand
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC8;" _
    & "User Id=sa;"
    & "Password=yourpassword;")
    DBInsert.CommandText = "Insert Into PageViews " _
    & "(DateEntered, PageName, VisitorlD) Values (" _
    & "GetDateO, 'Домашняя', " & Session("VisitorlD") & ")"
    DBInsert.Connection = DBConn
    DBInsert.Connection.Open
    DBInsert.ExecuteNonQuery()
    End Sub

Вначале добавляется запись в таблицу PageViews. Обратите внимание на то, что название просматриваемой страницы — Домашняя. Каждой странице, для которой производится статистический анализ, надлежит присваивать уникальное имя, позволяющее легко найти ее в базе данных:

    DBInsert.CommandText = "Insert Into PageViews " _
    & "(DateEntered, PageName, VisitorlD) Values (" _
    & "GetDateO, 'Домашняя', " & Session("VisitorlD") & ")"
    DBInsert.Connection = DBConn
    DBInsert.Connection.Open

Затем запись помещается в базу данных:

    DBInsert.ExecuteNonQuery()

Hosted by uCoz