Главная » Delphi » Объекты  ASP Session, Server и Application

0

Кроме  объектов Request и Response, ASP обладает также  доступом к внутренним объектам Session, Server и  Application. Фактически это  одно  из  главных  пре имуществ  ASP перед  CGI и ISAPI: активный объект сервера может  обращаться к ин формации сеанса  и приложения без каких  бы то ни было дополнительных усилий  со стороны программиста (используя cookies,  скрытые поля или переменные URL).

Возвращаясь к предыдущему  примеру, напомним, что класс TDrBob42 происходит от класса  TASPObject. В дополнение к свойствам Request и Response, этот  класс обладает свойствами TASPObject.Session, Server и Application. Такие  свойства обеспечивают прямой доступ к внутренним объектам ASP Session, Server и Appli- cation соответственно. Эти свойства можно  использовать в составе  методов  классаTDrBob42, например для хранения имен всех посетителей Web сайта,  что может быть реализовано следующим образом (обратите внимание на вторую строку):

<%

Set DelphiASPObj = Server.CreateObject("D6ASP.DrBob42")

Session.Value("Name") = "Bob Swart"

DelphiASPObj.Welcome

%>

Чтобы сделать  это значение постоянным (постоянным для всех активных страниц сервера, посещаемых тем же самым пользователем в течении того же самого  сеанса), можно  воспользоваться объектом Session активного объекта сервера, а также  дру гими объектами Form, QueryString или Cookies (см. листинг 22.5).

Листинг 22.5. DrBob42ASP — исходный  код активного объекта сервера

procedure TDrBob42.Welcome;

var

Str: String;

begin

Str := Session.Value[‘Name’]; Response.Write(‘Hello, ‘+Str+’!’); Response.Write(‘<P>’);

Response.Write(‘Welcome back to Delphi 6 and ASP Objects’);

end;

Объект Session использует для хранения своего состояния cookies, поэтому удо

стоверьтесь, что на установленном Web сервере  применение cookies разрешено.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии