В чем разница между Application.Contents и Application.StaticObjects в классическом ASP? - PullRequest
1 голос
/ 01 декабря 2011

В объекте Application в Classic ASP есть две коллекции

  • Application.StaticObjects, заполненные <object> секциями в global.asa
  • Application.Contents, заполненный любым кодом, который решает хранить там что-то, включая <script> секции в global.asa

Я отмечаю один очевидный недостаток коллекции StaticObjects: вы не можете инициализировать объектыВы хранитеДавайте возьмем пример XML-документа.Там вы можете хранить объект DOM со свободным потоком, но как, если вы хотите предварительно загрузить файл XML?Я не вижу способа добиться этого.

Имеет ли StaticObjects какое-либо преимущество, чтобы компенсировать этот недостаток?

В целом, как эти коллекции отличаются в отношении таких вещей, как параллелизм или доступили еще что?


Обсуждение ниже показало, что на самом деле есть преимущество в использовании <object> и, следовательно, Application.StaticObjects, а это ленивая оценка .Но тогда, конечно, ленивая оценка - это то, что вы можете легко кодировать сами (и с большей гибкостью) в скрипте.Тем не менее, для синглетов в области приложения, создаваемых по требованию, может быть полезен тег <object>.

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

Я никогда не сталкивался с необходимостью или преимуществом использования <object> в Global.asa, в отличие от простого использования Contents в событии OnStart.

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

Мой совет - просто игнорировать StaticObjects и работать с простым кодом.

0 голосов
/ 02 декабря 2011

Это две разные коллекции. Идея преимущества / недостатка не применима.

Коллекция содержимого приложения:

Коллекция содержимого - это группа всех элементов, которые были добавлены в приложение с помощью команды сценария.

Коллекция статических объектов приложения:

Коллекция StaticObjects содержит все объекты, созданные с тегами в области объекта Application.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...