Постоянно висящий в памяти обьект
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Постоянно висящий в памяти обьект Expand / Collapse
Автор
Сообщение
23.01.2001 13:31
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 09.01.2001 18:02
Сообщ.: 4, Visits: 45
Как проще всего обьявить постоянно висящий в памяти обьект, создаваемый при старте сервера
Я прочитал в MSDN про:
<OBJECT RUNAT=Server SCOPE="" ID="" PROGID="">
в global.asa, но пока не сообразил как добиться нужного результата.
Сообщ. #703384
23.01.2001 20:47
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908, Visits: 21 011
Я бы например сделал так (в global.asa):
set Obj=Server.CreateObject("здеся_имя_объекта")
Если вставить эту строку в событие Session_onStart, то объект будет создаваться для каждой сессии, а если в Application_onStart, то до перезагрузки IIS :-)
Сообщ. #703403
24.01.2001 16:20
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Есть два способа:

1) Процедуры Application_OnStart, Session_OnStart

В файле global.asa пишем
<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">
Sub Application_OnStart
Dim objMy
Set objMy = Server.CreateObject("<имя>")
... ' работа с свойствами, методами объекта
Set Application("objMy") = objMy
End Sub

Это приведет к созданю одной копии объекта доступного всем ASP файлам на сервере. Если нужно иметь разные копии объекта для разных пользователей, то создание объекта проводим в процедуре Session_OnStart. Главное не забывать, что это приводит к затратам памяти на сервере.

2) Тег OBJECT
Я этот способ никогда не использовал, думаю что делается это так. В global.asa перед тегом <SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER"> пишем
<OBJECT ID=имя_переменной PROGID="имя_объекта" SCOPE=Application RUNAT=Server></OBJECT>
Для обращения к созданному объекту пишем "имя_переменной.(свойство|метод)".

P.S. Micro$oft рекомендует использвать первый метод. Подробности ищите в MSDN Library...


Сообщ. #703439
24.01.2001 16:37
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 09.01.2001 18:02
Сообщ.: 4, Visits: 45

Cпасибо, bazile, за первый способ.
Со вторым я сам разобрался :)
Сообщ. #703440
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 2:05