Веб-формы ASP.NET
Оригинальный автор(ы) | Майкрософт |
---|---|
Первоначальный выпуск | 2002 год |
Операционная система | Окна |
Платформа | .NET Framework |
Тип | Фреймворк веб-приложений |
Веб-сайт | дотнет |
Веб-формы ASP.NET — это платформа веб-приложений и одна из нескольких моделей программирования, поддерживаемых технологией Microsoft ASP.NET . Приложения веб-форм могут быть написаны на любом языке программирования , поддерживающем среду Common Language Runtime , например C# или Visual Basic . Основными строительными блоками страниц веб-форм являются серверные элементы управления , которые представляют собой повторно используемые компоненты, отвечающие за рендеринг HTML- разметки и реагирование на события. [1] Техника, называемая состоянием просмотра , используется для сохранения состояния серверных элементов управления между запросами, которые обычно не сохраняют состояние HTTP- . [2]
Веб-формы были включены в исходный выпуск .NET Framework 1.0 в 2002 году (см. историю версий .NET Framework и историю версий ASP.NET ) как первая модель программирования, доступная в ASP.NET. В отличие от более новых компонентов ASP.NET, веб-формы не поддерживаются ASP.NET Core . [3]
Характеристики
[ редактировать ]Веб-страницы ASP.NET, официально известные как веб-формы, [4] были основными строительными блоками для разработки приложений в ASP.NET до появления MVC. [5] Существует две основные методологии веб-форм: формат веб-приложения и формат веб-сайта. [6] Веб-приложения необходимо скомпилировать перед развертыванием, а веб-сайты позволяют пользователю копировать файлы непосредственно на сервер без предварительной компиляции. Веб-формы содержатся в файлах с расширением «.aspx». эти файлы обычно содержат статическую ( X ) разметку HTML или разметку компонентов. Разметка компонента может включать в себя веб-элементы управления на стороне сервера и пользовательские элементы управления, определенные в платформе или на веб-странице. Например, компонент текстового поля можно определить на странице как <asp:textbox id='myid' runat='server'>
, который отображается в поле ввода HTML. Кроме того, динамический код, выполняющийся на сервере, можно разместить на странице внутри блока. <% -- dynamic code -- %>
, который похож на другие технологии веб-разработки, такие как PHP , JSP и ASP . В ASP.NET Framework 2.0 компания Microsoft представила новую модель кода программной части , которая позволяет статическому тексту оставаться на странице .aspx, в то время как динамический код помещается в файл .aspx.vb, .aspx.cs или .aspx.fs (в зависимости от используемый язык программирования). [7]
Модель с выделенным кодом
[ редактировать ]Microsoft рекомендует работать с динамическим кодом программы, используя модель выделенного кода, которая помещает этот код в отдельный файл или в специально выделенный тег сценария. Файлы кода программной части обычно имеют имена типа « MyPage.aspx.cs» или « MyPage.aspx.vb» , а файл страницы — MyPage.aspx (то же имя файла, что и файл подкачки (ASPX), но с окончательным расширением, обозначающим страницу). язык). Эта практика выполняется автоматически в Visual Studio и других IDE , хотя пользователь может изменить имя страницы кода программной части. Кроме того, в формате веб-приложения pagename.aspx.cs представляет собой частичный класс, связанный с файлом pagename.designer.cs. Файл конструктора — это файл, который автоматически создается на странице ASPX и позволяет программисту ссылаться на компоненты на странице ASPX со страницы кода программной части без необходимости объявлять их вручную, как это было необходимо в версиях ASP.NET до версии 2. [8] При использовании этого стиля программирования разработчик пишет код, реагирующий на различные события, такие как загрузка страницы или щелчок элемента управления, а не на процедурное прохождение документа.
Модель кода программной части ASP.NET отличается от классической ASP, поскольку она поощряет разработчиков создавать приложения с учетом разделения представления и контента . Теоретически это позволило бы веб-дизайнеру, например, сосредоточиться на разметке дизайна с меньшей вероятностью нарушить программный код, который ею управляет. Это похоже на отделение контроллера от представления в рамках модель-представление-контроллер (MVC).
Директивы
[ редактировать ]Директива — это специальная инструкция о том, как ASP.NET должен обрабатывать страницу. [9] Наиболее распространенной директивой является <%@ Page %>
, который может указывать множество атрибутов, используемых анализатором и компилятором страниц ASP.NET.
Пользовательские элементы управления
[ редактировать ]Пользовательские элементы управления — это инкапсуляции разделов страниц, которые регистрируются и используются в качестве элементов управления в ASP.NET.
Пользовательские элементы управления
[ редактировать ]Программисты также могут создавать собственные элементы управления для приложений ASP.NET. В отличие от пользовательских элементов управления, эти элементы управления не имеют файла разметки ASCX, а весь их код скомпилирован в файл динамической библиотеки (DLL) . Такие настраиваемые элементы управления можно использовать в нескольких веб-приложениях и проектах Visual Studio 2013 .
Техника рендеринга
[ редактировать ].NET использует технику рендеринга «посещаемых композитов». Во время компиляции файл шаблона (.aspx) компилируется в код инициализации, который создает дерево управления (композитное), представляющее исходный шаблон. Литеральный текст входит в экземпляры класса элемента управления Literal, а серверные элементы управления представляются экземплярами определенного класса элемента управления. Код инициализации объединяется с написанным пользователем кодом (обычно путем сборки нескольких разделяемых классов) и приводит к созданию класса, специфичного для страницы. Страница одновременно является корнем дерева управления.
Фактические запросы к странице обрабатываются в несколько этапов. Сначала на этапах инициализации создается экземпляр класса страницы и выполняется код инициализации. В результате создается исходное дерево управления, которым теперь обычно управляют методы страницы на следующих шагах. Поскольку каждый узел в дереве представляет собой элемент управления, представленный как экземпляр класса, код может изменять структуру дерева, а также манипулировать свойствами/методами отдельных узлов. Наконец, на этапе рендеринга посетитель посещает каждый узел дерева, прося каждый узел визуализировать себя, используя методы посетителя. Результирующий вывод HTML отправляется клиенту.
После обработки запроса экземпляр класса страницы отбрасывается, а вместе с ним и все дерево управления. Это является источником путаницы среди начинающих программистов ASP.NET, которые полагаются на члены экземпляра класса, которые теряются с каждым циклом запроса/ответа страницы.
Государственное управление
[ редактировать ]Приложения ASP.NET размещаются на веб-сервере , и доступ к ним осуществляется по без сохранения состояния протоколу HTTP . Таким образом, если приложение использует взаимодействие с отслеживанием состояния, оно должно реализовать управление состоянием самостоятельно. ASP.NET предоставляет различные функции для управления состоянием. Концептуально Microsoft рассматривает «состояние» как состояние графического интерфейса . Проблемы могут возникнуть, если приложению необходимо отслеживать «состояние данных»; например, конечный автомат , который может находиться в переходном состоянии между запросами ( ленивая оценка ) или требует много времени для инициализации. Управление состоянием на страницах ASP.NET с аутентификацией может затруднить или сделать невозможным парсинг веб-страниц .
Приложение
[ редактировать ]Состояние приложения хранится в наборе общих определяемых пользователем переменных. Они устанавливаются и инициализируются, когда Application_OnStart
Событие срабатывает при загрузке первого экземпляра приложения и доступно до выхода последнего экземпляра. Доступ к переменным состояния приложения осуществляется с помощью Applications
коллекция, которая предоставляет оболочку для состояния приложения. Переменные состояния приложения идентифицируются по имени. [10] Приложение — управление состоянием.
Состояние сеанса
[ редактировать ]Состояние сеанса на стороне сервера сохраняется с помощью набора определяемых пользователем переменных сеанса, которые сохраняются во время сеанса пользователя. Эти переменные, доступные с помощью Session
коллекции уникальны для каждого экземпляра сеанса. Переменные можно настроить на автоматическое уничтожение после определенного времени бездействия, даже если сеанс не завершается. Пользовательский сеанс на стороне клиента поддерживается либо с помощью файла cookie , либо путем кодирования идентификатора сеанса в самом URL-адресе. [10]
ASP.NET поддерживает три режима сохранения переменных сеанса на стороне сервера: [10]
- В процессе работы
- Переменные сеанса поддерживаются внутри процесса ASP.NET . Это самый быстрый способ; однако в этом режиме переменные уничтожаются при перезапуске или завершении процесса ASP.NET.
- Режим сервера состояний
- ASP.NET запускает отдельную службу Windows , которая поддерживает переменные состояния. Поскольку управление состоянием происходит вне процесса ASP.NET, а механизм ASP.NET обращается к данным с помощью удаленного взаимодействия .NET, ASPState работает медленнее, чем In-Process. Этот режим позволяет приложению ASP.NET балансировать нагрузку и масштабировать его между несколькими серверами. Поскольку служба управления состоянием работает независимо от ASP.NET, переменные сеанса могут сохраняться при завершении работы процесса ASP.NET. Однако, поскольку сервер состояния сеанса работает как один экземпляр, он по-прежнему является одной из точек отказа для состояния сеанса. Служба состояния сеанса не может быть сбалансирована по нагрузке, и существуют ограничения на типы, которые могут храниться в переменной сеанса.
- Режим SQL-сервера
- Переменные состояния хранятся в базе данных , что позволяет сохранять переменные сеанса при завершении работы процесса ASP.NET. Основное преимущество этого режима заключается в том, что он позволяет приложению балансировать нагрузку на кластер серверов, распределяя сеансы между серверами. Это самый медленный метод управления состоянием сеанса в ASP.NET.
Состояние сеанса ASP.NET позволяет сохранять и извлекать значения для пользователя, когда он перемещается по страницам ASP.NET в веб-приложении. HTTP — протокол без сохранения состояния. Это означает, что веб-сервер обрабатывает каждый HTTP-запрос страницы как независимый запрос. Сервер не сохраняет никаких сведений о значениях переменных, которые использовались во время предыдущих запросов. Состояние сеанса ASP.NET идентифицирует запросы из того же браузера в течение ограниченного периода времени, что и сеанс, и обеспечивает способ сохранения значений переменных на протяжении всего сеанса. По умолчанию состояние сеанса ASP.NET включено для всех приложений ASP.NET.
Альтернативы состоянию сеанса включают следующее:
- Состояние приложения, в котором хранятся переменные, к которым могут получить доступ все пользователи приложения ASP.NET.
- Свойства профиля, которые сохраняют пользовательские значения в хранилище данных без истечения их срока действия.
- Кэширование ASP.NET, при котором значения сохраняются в памяти, доступной всем приложениям ASP.NET.
- Состояние просмотра, при котором значения сохраняются на странице.
- Печенье.
- Строка запроса и поля HTML-формы, доступные из HTTP-запроса.
Посмотреть состояние
[ редактировать ]Состояние просмотра относится к механизму управления состоянием на уровне страницы, используемому HTML-страницами, создаваемыми приложениями ASP.NET, для поддержания состояния элементов управления и виджетов веб-формы . Состояние элементов управления кодируется и отправляется на сервер при каждой отправке формы в скрытом поле, известном как __VIEWSTATE
. Сервер отправляет переменную обратно, чтобы при повторной визуализации страницы элементы управления отображались в своем последнем состоянии. На стороне сервера приложение может изменить состояние просмотра, если обработка требует изменения состояния какого-либо элемента управления. Состояния отдельных элементов управления декодируются на сервере и доступны для использования на страницах ASP.NET с помощью ViewState
коллекция. [11]
Основное использование этого — сохранение информации о форме при обратной передаче. Состояние просмотра включено по умолчанию и обычно сериализует данные в каждом элементе управления на странице независимо от того, действительно ли они используются во время обратной передачи. Однако это поведение можно (и нужно) изменить, поскольку состояние просмотра можно отключить для каждого элемента управления, для каждой страницы или для всего сервера.
Разработчикам следует с осторожностью хранить конфиденциальную или конфиденциальную информацию в состоянии просмотра страницы или элемента управления, поскольку строку Base64, содержащую данные состояния просмотра, можно легко десериализовать. По умолчанию состояние просмотра не шифрует __VIEWSTATE
ценить. Шифрование можно включить на уровне всего сервера (и для конкретного сервера), что позволяет поддерживать определенный уровень безопасности. [12]
Кэширование на стороне сервера
[ редактировать ]ASP.NET предлагает объект «Кэш», который используется во всем приложении и также может использоваться для хранения различных объектов. Объект «Кэш» хранит данные только в течение определенного периода времени.
Другой
[ редактировать ]Другими средствами управления состоянием, поддерживаемыми ASP.NET , являются файлы cookie , кэширование и строка запроса .
Шаблонизатор
[ редактировать ]При первом выпуске в ASP.NET отсутствовал механизм шаблонов . Поскольку .NET Framework является объектно-ориентированной и допускает наследование , многие разработчики определяют новый базовый класс, который наследуется от « System.Web.UI.Page
", писать там методы , которые отображают HTML, а затем наследовать страницы своего приложения от этого нового класса. Хотя это позволяет повторно использовать общие элементы на сайте, это усложняет и смешивает исходный код с разметкой . Кроме того, этот метод можно проверить только визуально, запустив приложение, а не во время его разработки. Другие разработчики использовали включаемые файлы и другие приемы, чтобы избежать необходимости реализовывать одну и ту же навигацию и другие элементы на каждой странице.
В ASP.NET 2.0 появилась концепция главных страниц , которая позволяет разрабатывать страницы на основе шаблонов . Веб-приложение может иметь одну или несколько главных страниц, которые, начиная с ASP.NET 2.0, могут быть вложенными. [13] В главных шаблонах есть элементы управления-заполнители, называемые ContentPlaceHolders, которые обозначают, куда направляется динамический контент, а также HTML и JavaScript, используемые на дочерних страницах.
Дочерние страницы используют элементы управления ContentPlaceHolder, которые должны быть сопоставлены с заполнителем главной страницы, которую заполняет страница содержимого. Остальная часть страницы определяется общими частями главной страницы, подобно слиянию почты в текстовом процессоре . Вся разметка и серверные элементы управления на странице содержимого должны быть помещены в элемент управления ContentPlaceHolder.
Когда делается запрос на страницу контента, ASP.NET объединяет выходные данные страницы контента с выходными данными главной страницы и отправляет выходные данные пользователю.
Главная страница остается полностью доступной для страницы содержимого. Это означает, что страница контента по-прежнему может манипулировать заголовками, изменять заголовок, настраивать кэширование и т. д. Если главная страница предоставляет общедоступные свойства или методы (например, для установки уведомлений об авторских правах), страница контента также может их использовать.
Другие файлы
[ редактировать ]Другие расширения файлов , связанные с различными версиями ASP.NET, включают:
Расширение | Представлено в версии | Описание |
---|---|---|
Асакс | 1.0 | Это глобальный файл приложения. Этот файл можно использовать для определения глобальных переменных (переменная, доступ к которой можно получить с любой веб-страницы веб-приложения). В основном он используется для определения общего события приложения, связанного с объектом приложения и сеанса. Global.asax , используемый для логики уровня приложения. [14] |
ascx | 1.0 | Пользовательский контроль, используемый для логики файлов пользовательского контроля. [15] |
эшкс | 1.0 | Пользовательские обработчики HTTP не имеют пользовательского интерфейса. |
asmx | 1.0 | Страницы веб-сервиса . Начиная с версии 2.0 страница кода файла asmx помещается в папку app_code. |
aspx | 1.0 | Страница веб-форм ASP.NET, которая может содержать веб-элементы управления, презентацию и бизнес-логику. http://msdn.microsoft.com/en-us/library/2wawkw1c.aspx |
акд | 1.0 | Если этот параметр включен в web.config, на уровне приложения запрос трассировки.axd выводит трассировку . Также используется для специального обработчика webresource.axd, который позволяет разработчикам элементов управления/компонентов упаковывать компонент/элемент управления вместе с изображениями, скриптом, CSS и т. д. для развертывания в одном файле («сборке»). |
браузер | 2.0 | Файлы возможностей браузера, хранящиеся в формате XML ; представлено в версии 2.0. ASP.NET 2 включает многие из них по умолчанию для поддержки распространенных веб-браузеров. Они определяют, какие браузеры имеют какие возможности, чтобы ASP.NET 2 мог автоматически настраивать и оптимизировать свой вывод соответствующим образом. Специальные файлы .browser доступны для бесплатной загрузки, например, для работы с валидатором W3C, чтобы он правильно отображал страницы, соответствующие стандартам, как соответствующие стандартам. Заменяет более сложный в использовании раздел BrowserCaps, который был в файле Machine.config и который можно было переопределить в файле web.config в ASP.NET 1.x. |
конфигурация | 1.0 | web.config — единственный файл в конкретном веб-приложении, который по умолчанию использует это расширение (machine.config аналогичным образом влияет на весь веб-сервер и все приложения на нем), однако ASP.NET предоставляет средства для создания и использования других файлов конфигурации. Они хранятся в формате XML . |
cs/vb/фс | 1.0 | Файлы кода (cs означает C#, vb — Visual Basic, fs — F#). Код файлов (см. выше) преимущественно имеет расширение " .aspx.cs " или " .aspx.vb " для двух наиболее распространенных языков. Другие файлы кода (часто содержащие общие "библиотечные" классы) также могут существовать в веб-папках с расширением cs/vb. В ASP.NET 2 их следует размещать внутри папки App_Code, где они и находятся. динамически компилируется и доступен для всего приложения. |
cshtml | 4.1 | Представления (смесь C# и HTML с использованием синтаксиса Razor ) |
дбмл | 3.5 | LINQ to SQL Файл классов данных |
edmx | 3.5 | ADO.NET Entity Framework Модель |
владелец | 2.0 | Главный файл страницы. Имя файла по умолчанию — Master1.master. |
resx | 1.0 | Файлы ресурсов для интернационализации и локализации . Файлы ресурсов могут быть глобальными (например, сообщения) или локальными , что означает, что они предназначены только для одного файла aspx или ascx. |
карта сайта | 2.0 | Файлы конфигурации карты сайта. Имя файла по умолчанию — web.sitemap. |
кожа | 2.0 | Файлы скинов темы. |
СВК | 3.0 | Windows Communication Foundation Служебный файл |
vbhtml | 4.1 | Представления (смешанный VB и HTML с использованием синтаксиса Razor ) |
Структура каталогов
[ редактировать ]В общем, структура каталогов ASP.NET может определяться предпочтениями разработчика. Помимо нескольких зарезервированных имен каталогов, сайт может охватывать любое количество каталогов. Структура обычно отражается непосредственно в URL-адресах. Хотя ASP.NET предоставляет средства для перехвата запроса на любом этапе обработки, разработчик не обязан направлять запросы через центральное приложение или фронт-контроллер.
Специальные имена каталогов (начиная с ASP.NET 2.0): [16]
- Код_приложения
- Это каталог «сырого кода». Сервер ASP.NET автоматически компилирует файлы (и подкаталоги) в этой папке в сборку, доступную в коде каждой страницы сайта. App_Code обычно используется для кода абстракции доступа к данным, кода модели и бизнес-кода. В этом каталоге также находятся все специфичные для сайта обработчики и модули HTTP, а также реализация веб-служб. В качестве альтернативы использованию App_Code разработчик может предоставить отдельную сборку с предварительно скомпилированным кодом.
- App_Data
- Каталог App_Data ASP.NET — это каталог по умолчанию для любой базы данных , используемой веб-сайтом ASP.NET. Эти базы данных могут включать файлы Access (mdb) или файлы SQL Server (mdf). App_Data — единственный каталог с доступом на запись для веб-приложения ASP.NET.: [17]
- App_GlobalResources
- Содержит файлы resx с локализованными ресурсами, доступными для каждой страницы сайта. Здесь разработчик ASP.NET обычно хранит локализованные сообщения и т. д., используемые более чем на одной странице.
- App_LocalResources
- Например, файл CheckOut.aspx.fr-FR.resx содержит локализованные ресурсы для французской версии страницы CheckOut.aspx. Если для языка пользовательского интерфейса выбран французский язык, ASP.NET автоматически находит и использует этот файл для локализации.
- App_Offline.htm
- Файл (не каталог), который отключает приложение, возвращая содержимое файла для любого запроса приложения.
- App_Themes
- Добавляет папку, содержащую файлы, связанные с темами. Это новая функция ASP.NET, которая помогает обеспечить единообразный внешний вид всего веб-сайта и упрощает изменение внешнего вида веб-сайта при необходимости.
- App_WebReferences
- содержит файлы обнаружения и файлы WSDL для ссылок на веб-службы , которые будут использоваться на сайте.
- Бин
- Содержит скомпилированный код ( файлы .dll ) для элементов управления, компонентов или другого кода, на который вы хотите ссылаться в своем приложении. Любые классы, представленные кодом в папке Bin, автоматически используются в вашем приложении.
Производительность
[ редактировать ]ASP.NET стремится добиться преимущества в производительности по сравнению с другими технологиями на основе сценариев (включая классический ASP) путем компиляции серверного кода при первом его использовании с одним или несколькими DLL файлами на веб-сервере . Эти файлы или сборки dll содержат Microsoft Intermediate Language (MSIL) для работы в среде общего языка ; это обеспечивает повышение производительности по сравнению с чистыми скриптовыми языками и аналогично подходу, используемому Python, и не отличается от JavaServer Pages . [18] Эта компиляция происходит автоматически при первом запросе страницы (это означает, что разработчику не нужно выполнять отдельный этап компиляции для страниц).
Эта функция обеспечивает простоту разработки, обеспечиваемую языками сценариев, с преимуществами производительности скомпилированного двоичного файла. Однако компиляция может вызвать у пользователя заметную, но небольшую задержку, когда вновь отредактированная страница сначала запрашивается с веб-сервера, но не снова, если запрошенная страница не будет обновляться дальше.
ASPX и другие файлы ресурсов размещаются на виртуальном хосте на сервере служб IIS (или других совместимых серверах ASP.NET; см. раздел «Другие реализации» ниже). Когда клиент впервые запрашивает страницу, .NET Framework анализирует и компилирует файл(ы) в сборку .NET и отправляет ответ; последующие запросы обслуживаются из файлов DLL. По умолчанию ASP.NET компилирует весь сайт в пакеты по 1000 файлов по первому запросу. Если задержка компиляции вызывает проблемы, можно изменить размер пакета или стратегию компиляции.
Разработчики также могут предварительно скомпилировать свои файлы «кодовой части» перед развертыванием с помощью Microsoft Visual Studio, что устраняет необходимость в своевременной компиляции в производственной среде. [19] Это также устраняет необходимость размещения исходного кода на веб-сервере. Он также поддерживает предкомпилируемый текст.
ASP.NET по сравнению с классическим ASP
[ редактировать ]ASP.NET WebForms упрощает переход разработчиков от разработки приложений Windows к веб-разработке, предлагая возможность создавать страницы, состоящие из элементов управления, аналогичных пользовательскому интерфейсу Windows . Веб-элемент управления, такой как кнопка или метка , функционирует во многом так же, как и его аналоги в Windows: код может назначать его свойства и реагировать на его события. Элементы управления умеют отображать себя: в то время как элементы управления Windows выводятся на экран, веб-элементы управления создают сегменты HTML и JavaScript , которые формируют части конечной страницы, отправляемой в браузер конечного пользователя.
ASP.NET WebForms поощряет программистов разрабатывать приложения с использованием , управляемой событиями модели графического пользовательского интерфейса , а не в традиционных средах создания веб- скриптов, таких как ASP и PHP . Фреймворк сочетает в себе существующие технологии, такие как JavaScript, с внутренними компонентами, такими как ViewState , для придания постоянного состояния (между запросами) в веб-среде, которая по своей сути не имеет состояния .
Другие отличия от классического ASP :
- Скомпилированный код означает, что приложения работают быстрее, а на этапе разработки обнаруживается больше ошибок времени проектирования.
- Значительно улучшена обработка ошибок во время выполнения, за счет использования обработки исключений с помощью блоков try-catch.
- Подобные метафоры приложениям Microsoft Windows, таким как элементы управления и события.
- Обширный набор элементов управления и библиотек классов, а также определяемые пользователем элементы управления позволяют быстро создавать приложения. Размещать эти элементы управления на странице проще, поскольку большую часть этого можно сделать визуально в большинстве редакторов.
- ASP.NET использует многоязычные возможности среды выполнения .NET Common Language Runtime , позволяя кодировать веб-страницы на VB.NET, C#, F#, Delphi.NET и т. д.
- Возможность кэшировать всю страницу или только ее части для повышения производительности.
- Возможность использовать модель разработки с выделенным кодом для отделения бизнес-логики от представления.
- Возможность использовать настоящий объектно-ориентированный дизайн для программирования страниц и элементов управления.
- Если в приложении ASP.NET происходит утечка памяти , среда выполнения ASP.NET выгружает домен приложения, в котором размещено ошибочное приложение, и перезагружает приложение в новом домене приложения.
- Состояние сеанса в ASP.NET можно сохранить в базе данных Microsoft SQL Server или в отдельном процессе, работающем на том же компьютере, что и веб-сервер, или на другом компьютере. Таким образом, значения сеанса не теряются при перезагрузке веб-сервера или перезапуске рабочего процесса ASP.NET.
- Версии ASP.NET до 2.0 подвергались критике за несоответствие стандартам. Сгенерированные HTML и JavaScript, отправляемые в клиентский браузер, не всегда соответствуют стандартам W3C / ECMA . Кроме того, функция обнаружения браузера платформы иногда неправильно определяла веб-браузеры, отличные от собственного Internet Explorer от Microsoft , как «нижнего уровня» и возвращала этим клиентам HTML/JavaScript с удаленными, а иногда искалеченными или сломанными некоторыми функциями. Однако в версии 2.0 все элементы управления генерируют действительный вывод HTML 4.0, XHTML 1.0 (по умолчанию) или XHTML 1.1, в зависимости от конфигурации сайта. Обнаружение веб-браузеров, соответствующих стандартам, становится более надежным, а поддержка каскадных таблиц стилей более обширной.
- Элементы управления веб-сервером: это элементы управления, представленные веб-формами ASP.NET для предоставления пользовательского интерфейса веб-формы. Эти элементы управления являются элементами управления, управляемыми состоянием, и представляют собой элементы управления WYSIWYG .
Ссылки
[ редактировать ]Цитаты
[ редактировать ]- ^ «Что такое веб-формы» . docs.microsoft.com .
- ^ «Обзор состояния представления ASP.NET» . msdn.microsoft.com .
- ^ «Выберите между ASP.NET и ASP.NET Core» . docs.microsoft.com .
- ^ Персонал (ноябрь 2001 г.). «Обзор ASP.NET и веб-форм» . Майкрософт . Проверено 5 июня 2011 г.
- ^ ( MacDonald & Szpuszta 2005 , стр. 63)
- ^ «Проекты веб-приложений и проекты веб-сайтов в Visual Studio» .
- ^ «Код позади и встроенный код» . Microsoft .NET Framework . Майкрософт . Архивировано из оригинала 11 ноября 2010 года . Проверено 22 ноября 2010 г.
- ^ «aspx.designer.cs, как это работает?» . StackOverflow . 10 сентября 2015 г.
- ^ «Обзор синтаксиса веб-страницы ASP.NET» . Microsoft .NET Framework . Майкрософт . Проверено 22 ноября 2010 г.
- ^ Jump up to: а б с «ИНФОРМАЦИЯ: Обзор управления состоянием ASP.NET» . Проверено 23 октября 2007 г.
- ^ «ViewState в ASP.NET» . Архивировано из оригинала 14 октября 2007 года . Проверено 23 октября 2007 г.
- ^ «Шифрование Viewstate в ASP.NET» . Проверено 19 июля 2009 г.
- ^ «Главные страницы ASP.NET» . microsoft.com . Майкрософт.
- ^ «Глобальный синтаксис.asax» . microsoft.com . Майкрософт.
- ^ «Превращение пользовательского элемента управления .ascx в распространяемый пользовательский элемент управления» . microsoft.com . Майкрософт.
- ^ «Структура папок веб-проекта ASP.NET» . microsoft.com . Майкрософт.
- ^ «Структура каталогов ASP.NET» . aspnet4.com .
- ^ ( MacDonald & Szpuszta 2005 , стр. 7–8)
- ^ «Обзор предварительной компиляции проекта веб-сайта ASP.NET: выполнение предварительной компиляции» . Сеть разработчиков Microsoft . Проверено 13 января 2016 г.
Источники
[ редактировать ]- Макдональд, Мэтью; Шпуста, Марио (2005). Pro ASP.NET 2.0 на C# 2005 (1-е изд.). Апресс. ISBN 978-1-59059-496-4 .
Внешние ссылки
[ редактировать ]- Официальная документация
- Веб-формы на www.asp.net
- Введение в ASP.NET и веб-формы (документ начала 2001 г.)