В настоящее время многие веб -сайты, которые используют ASP, вообще не используют компоненты. Сегодня редактор канала Fooxin Technology кратко описывает службы подразделения между ASP и компонентами. Я надеюсь, что вам будет полезно изучить эти знания.
ASP и компоненты службы подразделения
ASP чаще всего используется для создания HTML или XML -файлов для использования клиентами на серверах, поэтому мы в основном обсуждаем этот сценарий использования. Это поднимает общий вопрос: если страницы ASP находятся на сервере, принадлежат ли они части бизнес -уровня? В мире компонентов ответ обычно нет. Хотя ASP работает на сервере и может быть в том же пространстве, что и сервер приложений, это не делает его частью бизнес -логики.
С учетом того, что инструменты пользовательского интерфейса растут или по мере использования большего количества решений для бизнеса.
Сказав это, давайте посмотрим на некоторые из наиболее важных критериев разделения уровня бизнеса и презентаций:
Отдельный код пользовательского интерфейса от бизнес -логики. Это включает в себя написание кода в сочетании с пользовательским интерфейсом, таким как использование объекта MTS, который использует внутренний компонент ASP для отделения его от кода бизнес -логики, как если бы он был в другом DLL.
Отдельные транзакции от страниц ASP. В некоторых случаях транзакция ASP очень хорошая, но компоненты и многоуровневые приложения меняют это. Компоненты не должны полагаться на клиентский уровень для управления своими транзакциями и семантикой бизнес -логики.
Поместите представляющий компонент (компонент, который использует запрос и ответ) в ту же машину и/или процесс, что и веб -сервер. Если объект, использующий объект внутреннего компонента ASP, помещается на удаленную машину, все вызовы внутреннего компонента будут происходить в форме обратного вызова. Сервер COM+, который вызывает клиент IIS, является сервером COM+, который значительно снижает производительность и усложняет конфигурацию безопасности. Эти настройки объектов могут быть размещены в приложении Com+, помеченной как «Активация библиотеки».
ASP существует на сервере, поэтому страница ASP должна соответствовать правилам обмена ресурсами и помнить о масштабируемости. См. Подробности ниже:
В «сеансе» руководство должно попытаться избежать статуса пользователя.
Держите ASP без составы и разрешайте пулы ресурсов, где это возможно.
Метод работы
При оценке того, принадлежит ли сегмент кода к бизнес-логике или презентации, спросите себя: «Если мне нужно заменить страницу ASP на телефонное приложение типа кнопки, этот код все еще полезен?» Если ответ «да», вы можете попробовать разделить его на код бизнес -логики или вспомогательный код пользовательского интерфейса.
Если код не может использоваться после изменения клиента, или если он является помощником для построения пользовательского интерфейса, код принадлежит уровню службы представления. Это на странице ASP или в компоненте, который использует внутренние компоненты ASP. Это не принадлежит компоненту бизнес -объекта.
Понять разницу между настольным и клиентом ASP
ASP является специальным клиентом компонентов, в отличие от традиционных однопоточных приложений Win32 на рабочем столе. Основные различия суммируются следующим образом.
Управление потоком: ASP-многопоточный клиент. Это означает, что может быть много параллельных действий, которые работают вместе, возможно, обрабатывая различные страницы ASP одновременно. Это означает, что объект не может быть сделан ложно утверждать, что это единственный пользователь, который занимает исключительно систему. Это может привести к неожиданным реакциям, например, для развития плохой привычки хранения объектов в сеансе ASP или переменных приложения.
Среда безопасности: ASP выполняется интернет -информационными службами 5.0 на веб -сайте, с тремя уровнями изоляции: низкий, средний и высокий. Даже эти веб -сайты могут иметь разные настройки безопасности, разрешать или отрицать анонимный доступ, аутентификации клиентов и многое другое. Все эти настройки создают большое количество схем, где различные учетные записи пользователей в конечном итоге используют ваши объекты.
Легкий рост: это не техническая проблема, а побочный эффект объектов, предоставленных веб -приложениями.
Традиционно, добавление базы пользователей к настольным приложениям требует тщательного планирования переводов в известное количество клиентов. ASP изменила процесс. После и запуска ASP-Visual Basic приложение может быть легко открыто для использования всеми сотрудниками, всеми деловыми партнерами и всеми клиентами на местном или мире.
Это может быть описано таким образом - единственное электронное письмо с гиперссылкой может вырастить пользовательскую базу в десять раз. Готово ли ваше приложение? Единственный способ узнать - провести прочность на вашем веб -сайте, чтобы получить ожидаемую ценность фактической производительности.
Как использовать объекты Visual Basic в ASP? Создайте и отмените свои объекты в рамках страницы.
То есть сделать как можно больше, сделать страницу ASP и зависеть только от переменных сеанса или приложения во временном состоянии. Не храните объекты в переменных сеанса или приложения. Это блокирует поток ASP к вашему сеансу, отменяет все ожидаемые значения для масштабируемости. То есть количество пользователей, обработанных веб -сервером, не превысит десятки пользователей. Если вам нужно хранить контент в сеансе или приложении, сделайте его данными, а не объектом.
Есть много других рекомендаций, которым нужно следовать. Мы рекомендуем вам прочитать колонку «Servin 'It Up», написанную JD Meier на MSDN Voices. Этот столбец включает в себя широкий спектр методов, практик и советов, которые помогают разработать масштабируемые, надежные приложения ASP и компонентов.
Не храните ссылки в объектах VB в сеансе или приложении
Все компоненты Visual Basic 6.0 - это «единичные потоки», что означает, что все они работают в единицах STA. Это означает, что если объект создается в потоке, то все вызовы этого объекта должны служить одним и тем же потоком. Многие потоки (от одновременных пользователей веб -сайта) используют один и тот же экземпляр объекта STA, вызывая серию действий, которые могут стать узкими местами в приложении.
Кроме того, хранение объектов STA, созданных с помощью Server.createObject в области сеанса, может эффективно связаться с потоком выполнения с текущим пользователем, что ограничивает максимальное количество одновременных пользователей приложения по умолчанию 20xn (n = количество процессоров).
Метод работы
Если вы следите за нашими рекомендациями, чтобы сделать объекты без сохранения состояния, вам не нужно хранить ссылки на повторное использование клиента и хранить их в рамках приложения. Клиенты смогут создавать, использовать и отменить свои собственные объекты независимо. Это уменьшает необходимость поддерживать конкретные объекты, потому что они не сохраняют состояние, специфичное для сеанса.
Рекомендуемый способ состоит в том, чтобы сделать объект без сохранения состояния, который при необходимости обращается к базе данных или другим областям хранения (например, файлов cookie и LDAP).
Если вам необходимо использовать данные сеанса или по всему приложению, сохраните данные, а не объект, который обрабатывает данные, здесь. Вы можете создать класс, который инкапсулирует обработку желаемого значения.
Узнайте новый контент в IIS 5.0
Internet Information Server 5.0 добавляет много новых функций. Эти улучшения были записаны в статью JD Meier MSDN: Используйте ASP в IIS 5.0 (английский).
Выше приведено краткое описание служб дивизии между ASP и компонентами, разделяемыми редактором ложно -новой технологической канала. Я надеюсь, что у вас есть больше знаний об этом аспекте, что поможет развивать ASP.