Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
реклама
pedant.ru

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ASP - Объект Application

Объект Application

Объект Application может быть использован для предоставления совместного доступа к информации всем пользователям данного приложения. Приложение, использующее ASP, определяется как все файлы .asp, расположенные в виртуальном каталоге и всех его подкаталогах. Поскольку объект Application может использоваться совместно несколькими пользователями, методы Lock и Unlock служат для того, чтобы несколько пользователей не могли изменять свойство одновременно.

Синтаксис

Application.метод

 

Семейства

Contents Содержит все элементы, добавленные к приложению командами сценария.
StaticObjects Содержит все объекты, добавленные к сеансу с помощью тега <OBJECT>.

Методы

Contents.Remove Метод Contents.Remove удаляет элемент из семейства Contents объекта Application.
Contents.RemoveAll Метод Contents.RemoveAll удаляет все элементы из семейства Contents объекта Application.
Lock Метод Lock запрещает изменение свойств объекта Application другими клиентами.
Unlock Метод Unlock позволяет другим клиентам изменять свойства объекта Application.

События

Application_OnEnd
Application_OnStart

Сценарии для всех перечисленных выше событий описываются в файле Global.asa. Дополнительные сведения об этих событиях и файле Global.asa см. в Справочнике Global.asa.

Замечания

Значения могут быть сохранены в Семействах Application. Сведения, хранимые в семействах Application, доступны из приложения и имеют приложение в качестве области определения. Приведенный ниже сценарий демонстрирует хранение двух типов переменных.

<%

Application("greeting") = "Welcome to My Web World!"

Application("num") = 25

%>

 

Каждая из этих переменных становится членом семейства Application Contents.

Можно также присвоить экземпляр компонента переменной, которая имеет приложение областью определения. Если экземпляр компонента присваивается переменной с помощью метода Server.CreateObject, переменная будет членом семейства Application.Contents. Если переменная присвоена с помощью тега <OBJECT>, она будет членом семейства Application StaticObjects.

Следует быть очень внимательным при присвоении экземпляра компонента переменной с приложением в качестве области определения, поскольку некоторые компоненты не предусматривают приложение в качестве области определения. Дополнительные сведения см. в пакете SDK операционной системы.

Если экземпляр компонента присваивается переменной в семействе Application Contents, а в качестве основного языка сценариев используется Visual Basic® Scripting Edition (VBScript), необходимо использовать ключевое слово Set. Это иллюстрируется приведенным ниже сценарием.

<% Set Application("Obj1") = Server.CreateObject("MyComponent") %>

 

Можно ссылаться на методы и свойства объекта MyComponent на других веб-страницах с помощью сценария

<% Application("Obj1").MyObjMethod %>

 

или извлекая локальную копию объекта и используя приведенный ниже фрагмент сценария

<%

Set MyLocalObj1 = Application("Obj1")

MyLocalObj1.MyObjMethod

%>

 

Другой способ создания объекта, имеющего в качестве области определения приложение, состоит в использовании тега <OBJECT> в файле Global.asa. Дополнительные сведения см. в разделе Справочник Global.asa.

Встроенные объекты не могут быть сохранены в объекте Application. Например, каждая из приведенных ниже строк будет возвращать ошибку.

<%

Set Application("var1") = Session

Set Application("var2") = Request

Set Application("var3") = Response

Set Application("var4") = Server

Set Application("var5") = Application

Set Application("var6") = ObjectContext

%>

 

Следует иметь в виду потоковую модель компонентов, которым присваивается приложение в качестве области определения. Потоковая модель, использованная при разработке компонента окажет существенное влияние на возможность присвоения экземпляра компонента переменной в одном из семейств Application.

Если массив хранится в объекте Application, не следует пытаться непосредственно изменить элементы хранимого массива. Например, следующий сценарий не будет работать:

<% Application("StoredArray")(3) = "new value" %>

 

Это происходит из-за того, что объект Application реализован как семейство. Элемент массива StoredArray(3) не получает нового значения. Вместо этого, значение будет включено в семейство объекта Application и перезапишет любую информацию, которая была ранее сохранена в этом месте.

При хранении массива в объекте Application настоятельно рекомендуется извлекать копию массива перед извлечением или изменением любых элементов массива. Когда изменение массива закончено, следует снова сохранить массив в объекте Application, чтобы сохранить все внесенные изменения. Это показано в приведенном ниже сценарии.

---file1.asp---

<%

'Creating and initializing the array.

dim MyArray()

Redim MyArray(5)

MyArray(0) = "hello"

MyArray(1) = "some other string"

'Storing the array in the Application object.

Application.Lock

Application("StoredArray") = MyArray

Application.Unlock

Server.Transfer("file2.asp")

%>

---file2.asp---

<%

'Retrieving the array from the Application Object

'and modifying its second element.

LocalArray = Application("StoredArray")

LocalArray(1) = " there"

'Printing out the string "hello there."

Response.Write(LocalArray(0)&LocalArray(1))

'Re-storing the array in the Application object.

'This overwrites the values in StoredArray with the new values.

Application.Lock

Application("StoredArray") = LocalArray

Application.Unlock

%>

 

Пример

Приведенный ниже пример использует переменную приложения NumVisits для хранения числа обращений к определенной странице. Метод Lock вызывается для обеспечения доступа и изменения значения NumVisits только текущим клиентом. Последующий вызов метода Unlock позволяет другим пользователям обращаться к объекту Application.

<%

Application.Lock

Application("NumVisits") = Application("NumVisits") + 1

Application.Unlock

%>

 

This application page has been visited

<%= Application("NumVisits") %> times!

 

Примеры работающих файлов .asp, которые используют объект Application, приведены в подразделе «Построение приложений ASP» в разделе Примеры ASP.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог