Навигация
 
  •  Главная
•  Программирование
•  Веб-программирование
•  Заработок в сети
•  Продвижение сайта
•  Дизайн
 
 
 
 
 
 
 
 
 
 
 
   
 
 
 
 
 
 
Навигация
 
  •  Главная
•  Форум
•  Доска объявлений
•  Биржа труда
•  О нас
 
 
 
     
  •   Программисты.kz » WEB-программирование » ASP.NET » Уроки ASP-технологий  

      Реклама на сайте:
Голосуй за Programmers.kz

  Уроки ASP-технологий  
    |   31-07-2009, 18:46   |   Опубликовал: КазКиберГетик  : 553  
 

Объект Application


Теперь давайте рассмотрим объект Application. Он предназначен для хранения глобальных переменных ASP-приложения, то есть переменных, которые доступны каждому сеансу приложения. Эти переменные находятся в коллекции Contents, к которой обычно обращаются сокращенно. Например, запишем следующий код в файл default.asp.

<%
Application("name")="test"
%>
 

Затем создадим файл test.asp и наберем такой код:

<%
Response.Write Application("name")
%>
 

После этого исполним сценарий default.asp, а затем test.asp. Последний выведет строку test в окне браузера. Вообще, в какой бы сценарий приложения мы не вставили код test.asp, результат будет одним и тем же.

Объект Application предоставляет разработчикам два метода:

  • Метод Lock
  • Метод Unlock

Они предназначены для блокирования и разблокирования, соответственно, всего приложения. Например, чтобы избежать ситуации, когда в переменную уровня приложения записываются одновременно два значения, можно применить следующий код:

<%
Application.Lock
Application(“MyVar”)=someValue
Application.Unlock
%>
 

Кроме коллекций и свойств у объекта Application есть два события: Application_OnEnd и Application_OnStart, которые мы рассмотрим чуть позже.

Объект Session


Этот объект предназначен для управления сеансами. Он имеет четыре свойства:

  • CodePage
  • LCID
  • SessionID
  • TimeOut

Первые два свойства — это таблица кодировки и идентификатор локали. Их мы рассматривать не будем, так как они практически не используются.

Свойство SessionID доступно в режиме «только для чтения» и возвращает уникальный идентификатор сеанса. Использование:

<%
Response.Write Session.SessionID
%>
 

Свойство TimeOut отвечает за время, через которое движок ASP прервет сеанс и удалит всю связанную с ним информацию на сервере. Установка этого свойства не позволяет оставлять данные о конкретном пользователе на сервере после того, как он отключился. Принимает значения в минутах. Например:

<%
Session.Timeout = 10
%>
 

Объект Session имеет один метод — Abandon, который позволяет принудительно прервать сеанс до истечения срока, указанного в свойстве TimeOut. Пример использования:

<% Session.Abandon %>
 

В объекте Session, как и в объекте Application, можно хранить данные. Для этого используются переменные уровня сессии. Например:

<% Session(“Username”)=”petya” %>
 

Кроме того, объект Session предоставляет разработчикам два события: Session_OnStart и Session_OnEnd, которые мы рассмотрим немного ниже.

Файл Global.asa


С чего начинается … нет, не Родина :-) — web-приложение? Ответ такой: с файла Global.asa. Он является главным файлом приложения. В этом файле могут существовать только следующие элементы:

  • Четыре события: Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd;
  • Тэги <OBJECT>, которые применяются для создания экземпляров ActiveX-компонентов.
  • Специальные мета-тэги, которые применяются для подключения библиотеки типов DLL-компонентов.

Примечание: файл Global.asa не обязательно должен присутствовать в приложении, но если уж он задействован, то непременно должен быть одним на все приложение.

Итак, рассмотрим события, которые могут находится в файле global.asa.

Они возникают примерно в таком вот порядке:

  • При первом вызове какого-либо сценария движок ASP пытается найти файл global.asa в корне вашего web-приложения, а в нем — обработчик события Application_OnStart.
  • Если такой файл существует и есть обработчик события Application_OnStart, то код, содержащийся в нем, исполняется.
  • Иначе движок пытается найти обработчик события Session_OnStart и исполнить код, содержащийся в нем.
  • По завершении сеанса возникает событие Session_OnEnd.

Если разработчик изменил файл global.asa, а затем сохранил его, то приложение заканчивает работу и вызывается событие Application_OnEnd. Вообще, это событие возникает, когда приложение завершается (когда происходит перезапуск web-сервера, перезапуск компьютера и т. д.).

Создание экземпляров ActiveX-компонентов с помощью тэга <OBJECT> происходит следующим образом:

<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier PROGID="progID"|CLASSID="ClassID">
</OBJECT>
 

Атрибут RUNAT всегда принимает значение Server. Атрибут SCOPE определяет область видимости компоненты (Application или Session). ID — это идентификатор, с помощью которого в дальнейшем можно будет получить доступ к объекту. Далее вы указываете PROGID или CLASSID, которые нужны, чтобы идентифицировать компонент.

Например, вы хотите создать экземпляр компонента BrowserCapabilities (он рассматривался выше), который был бы доступен каждому сеансу приложения. Для этого в файле global.asa необходимо написать примерно следующий код:

<OBJECT RUNAT=Server SCOPE=Session ID=MyBrowser PROGID="MSWC.BrowserType">
</OBJECT>
 

После этого вы получаете доступ к свойствам и методам данного компонента из любого сценария вашего приложения простым обращением к переменной MyBrowser. Например:

<%
   Response.Write MyBrowser.cookies
%>
 

Также экземпляры ActiveX-компонентов можно создавать с помощью подключения библиотеки типов данной компоненты. Делается это следующим образом:

<!--METADATA TYPE="TypeLib"
   FILE="file"
   UUID="uuid"
   VERSION="version"
   LCID="localeid"
-->
 

Атрибут TYPE всегда принимает значение TypeLib. В атрибуте FILE необходимо указать путь к библиотеке типов вашего компонента. UUID — это уникальный идентификатор этой библиотеки. Указывать можно либо FILE, либо UUID. VERSION — это, естественно, версия компоненты :-). Атрибут LCID отвечает за идентификатор локали.

Например, у вас есть библиотека динамической компоновки MyLib.dll, а у нее есть библиотека типов MyLib.lib. Вы можете подключить ее в файле global.asa вот таким способом:

<!--
METADATA TYPE="TypeLib"
FILE="Mylib.lib"
-->
 

Затем в любом сценарии приложения можно использовать этот компонент следующим образом:

<%
Dim MyVar
     Set MyVar = Server.CreateObject("Mylib.MyClass")
   …
%>
 

На сегодня это все.

Удачного дизайна!

Ключевые теги: ASPтехнологий, Уроки, ASP.NET
 
 
 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Обсудить на форуме


Другие статьи по теме:


 
 
 (голосов: 0)
 

  Информация  
     
  Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.  


 
 
Вход на сайт
 
логин :
пароль :
Напомнить пароль?
Вы не зарегистрированы? Регистрация здесь
 


Наш опрос
   


Статистика
  Всего на сайте: 10
Гостей: 5
Пользователи: - отсутствуют
Роботы: Yahoo Bot, crawl Bot, StackRambler, Google AdSense, crawl Bot

 


Олимпиады
  2010/09/15 - 21:00, Ср Member SRM 482
Начало: 2010/09/15 - 21:00, Ср Длительность: 1 ч 35 м

2010/09/25 - 22:00, Сб SRM 483
Начало: 2010/09/25 - 22:00, Сб Длительность: 1 ч 35 м

2010/10/06 - 07:00, Ср SRM 484
Начало: 2010/10/06 - 07:00, Ср Длительность: 1 ч 35 м

2010/10/21 - 17:00, Чт Member SRM 485
Начало: 2010/10/21 - 17:00, Чт Длительность: 1 ч 35 м

2010/10/26 - 21:00, Втр SRM 486
Начало: 2010/10/26 - 21:00, Втр Длительность: 1 ч 35 м

 


Партнёры
 
Freeway.kz
Образование в Казахстане и за рубежом: Uchi.kz
Benchmark.kz - компьютерный портал
wWw.informatik.kz
Информационный портал Hi-Tech
 


Реклама
 
 


 
 
 
 
Главная страница   |   Регистрация   |   Добавить новость   |   Правила сайта   |   Статистика   |   Обратная связь
Copyright © 2009 КазКиберГетик & AlexanderMS . Все права защищены...
Made in DLETemplates.Com and by КазКиберГетик © 2009 for programmers.kz. Modifications by КазКиберГетик
  Rambler's Top100