Мы рассмотрели жизненный цикл страницы и то, как страница может содержать различные элементы управления. Сама страница создается как объект управления. Все веб-формы по сути являются экземплярами классов страниц ASP.NET. Класс страницы имеет следующие чрезвычайно полезные свойства, соответствующие внутренним объектам:
сессия
приложение
кэш
просить
ответ
сервер
пользователь
отслеживать
Каждый объект мы обсудим в подходящее время. В этом уроке мы рассмотрим объект «Сервер», объект «Запрос» и объект «Ответ».
Объект сервера в ASP.NET является экземпляром класса System.Web.HttpServerUtility. Класс HttpServerUtility предоставляет большое количество свойств и методов для выполнения различных задач.
Методы и свойства класса HttpServerUtility предоставляются через внутренние серверные объекты, предоставляемые ASP.NET.
В следующей таблице представлен ряд свойств класса HttpServerUtility.
свойство | описывать |
---|---|
Имя машины | Имя компьютера-сервера |
Скрипттимеаут | Получает и устанавливает значение тайм-аута запроса в секундах. |
В следующей таблице представлены некоторые важные методы:
метод | описывать |
---|---|
СоздатьОбъект(Строка) | Создает экземпляр COM-объекта, подтвержденный его ProgID. |
СоздатьОбъект(Тип) | Создает экземпляр COM-объекта, проверенный по его типу. |
Равно(Объект) | Определите, соответствует ли конкретный объект существующему объекту. |
Выполнить (строка) | Выполнить виртуальный путь, указанный обрабатывающим приложением, в контексте текущего запроса. |
Выполнить(строка, логическое значение) | Выполните виртуальный путь, указанный обработчиком, в контексте текущего запроса, указав, следует ли очищать коллекцию QueryString и форм. |
GetLastError | Верните предыдущее исключение. |
GetType | Получает тип существующего экземпляра. |
Хтмлкодед | Преобразуйте обычную строку в допустимую строку HTML. |
Хтмлдекодирование | Преобразуйте строку Html в обычную строку. |
ТоСтрока | Возвращает строку, представляющую текущий объект. |
Передача (строка) | Для текущего запроса завершает выполнение текущей страницы и начинает выполнение новой страницы, указав URL-адрес страницы. |
Урлдекодирование | Преобразуйте строку URL в обычную строку. |
Урлэнкодетокен | То же, что и UrlEncode, но содержит данные в кодировке Base64 в массиве байтов. |
Урлдекодетокен | Работает так же, как UrlDecode, но содержит данные в кодировке Base64 в массиве байтов. |
MapPath | Возвращает физический путь, соответствующий пути к файлу на указанном виртуальном сервере. |
Передача | Перенести выполнение текущего приложения на другую веб-страницу. |
Объект запроса является экземпляром класса System.Web.HttpRequest. Он представляет значения и атрибуты HTTP-запроса, которые позволяют загрузить страницу в браузер.
Информация, представленная этим объектом, инкапсулирована в абстракцию более высокого уровня (модель веб-управления). Однако этот объект может помочь проверить некоторую информацию, например клиентские браузеры и файлы cookie.
В следующей таблице представлены некоторые примечательные свойства объекта запроса:
свойство | описывать |
---|---|
AcceptTypes | Получает массив строк допустимых типов MIME, поддерживаемых пользователем. |
Путь к приложению | Получите реальный корневой путь приложения ASP.NET на сервере. |
Браузер | Получает или задает информацию о возможностях браузера запрашивающего пользователя. |
Контенткодирование | Получает или задает объект набора символов. |
Контентдлина | Указывает длину в байтах содержимого, отправленного клиентом. |
Контенттипе | Получает или задает тип содержимого MIME входящего запроса. |
Файлы cookie | Получите набор файлов cookie, отправленный клиентом. |
путь к файлу | Получите реальный путь текущего запроса. |
Файлы | Получает коллекцию загруженных клиентом файлов в составном формате MIME. |
Форма | Получает коллекцию переменных формы. |
Заголовки | Получает коллекцию заголовков HTTP. |
HTTPMethod | Получите метод передачи данных HTTP, используемый пользователем (например, GET, POST или HEAD). |
Входной поток | Получите содержимое сущности входящего HTTP. |
Иссекуреконнектион | Получает значение, указывающее, использует ли HTTP-соединение безопасные сокеты (то есть HTTPS). |
Строка запроса | Получает коллекцию строковых переменных HTTP-запроса. |
RawUrl | Получите исходный URL-адрес текущего запроса. |
Тип запроса | Получает или задает метод передачи данных HTTP (GET или POST), используемый пользователем. |
Серверные переменные | Получает коллекцию переменных веб-сервера. |
Всего байт | Получите количество байтов существующего входного потока. |
URL | Получает информацию о существующем запрошенном URL-адресе. |
URLReferrer | Получает информацию об URL-адресе предыдущего запроса клиента, связанного с существующим URL-адресом. |
Пользовательский агент | Получает исходную строку пользовательского агента клиентского браузера. |
Пользовательский адрес хоста | Получите IP-адрес хоста удаленного клиента. |
имя_хоста пользователя | Получает DNS-имя удаленного клиента. |
Языки пользователя | Получает отсортированный массив строк с языковыми настройками клиента. |
В следующей таблице представлены некоторые важные методы:
метод | описывать |
---|---|
Двоичное чтение | Выполняет двоичное чтение указанного количества байтов из текущего входного потока. |
Равно(Объект) | Определяет, эквивалентен ли указанный объект существующему объекту. (унаследовано от объекта) |
GetType | Получает тип существующего экземпляра. |
КартаИзображениеКоординаты | Приводит параметры формы поля входящего изображения к соответствующим значениям координат x и y. |
МапПат(Строка) | Рисует указанный реальный путь в физический путь. |
Сохранить как | Хранится на диске в виде HTTP-запроса. |
ТоСтрока | Возвращает строку, представляющую существующий объект. |
Валидатеинпут | Вызывает проверку путем доступа к коллекции свойств Cookies, Form и QueryString. |
Объект ответа представляет собой ответ сервера на запрос пользователя. Это экземпляр класса System.Web.HttpResponse.
В ASP.NET объекты ответа не играют никакой важной роли при отправке HTML-текста пользователю, поскольку серверные элементы управления имеют вложенные объектно-ориентированные методы для своей визуализации.
Однако объект HttpResponse предоставляет некоторые важные функции, такие как характеристики файлов cookie и метод Redirect(). Метод Response.Redirect() позволяет перенести пользователя на другую страницу как внутри приложения, так и за его пределами. Это требует процесса туда и обратно.
В следующей таблице представлены некоторые примечательные свойства объектов ответа:
свойство | описывать |
---|---|
Буфер | Получает или задает значение, указывающее, буферизуется ли вывод и отправляется ли он после завершения работы полного ответчика. |
БуферВыход | Получает или задает значение, указывающее, помещается ли вывод в буфер и отправляется ли он после завершения полной страницы. |
Кодировка | Получает или задает набор символов HTTP выходного потока. |
Контенткодирование | Получает или задает набор символов HTTP выходного потока. |
Контенттипе | Получает или задает тип HTTP MIME выходного потока. |
Файлы cookie | Получите соответствующую коллекцию файлов cookie. |
Срок действия истекает | Получает или задает количество минут до истечения срока действия кэшированных страниц в браузере. |
Истекает Абсолютный | Получает или задает абсолютную дату и время удаления кэшированной информации из кэша. |
Кодирование заголовка | Получает или задает объект кодирования, представляющий кодировку существующего выходного потока заголовка. |
Заголовки | Получает коллекцию заголовков ответов. |
Исклиентконнектед | Получает значение, указывающее, подключен ли пользователь к серверу. |
Выход | Вызывает вывод выходного текста в поток ответов HTTP. |
Выходной поток | Включает двоичный вывод в тело содержимого HTTP вывода. |
ПеренаправлениеМестоположение | Получает или задает значение позиции заголовка Http. |
Статус | Установите строку состояния и верните ее клиенту. |
СтатусКод | Получает или задает код состояния вывода HTTP, возвращаемый клиенту. |
СтатусОписание | Получает или задает строку состояния вывода HTTP, возвращаемую клиенту. |
Код подстатуса | Получает или задает значение, ограничивающее код состояния ответа. |
Подавить содержимое | Получает или задает значение, указывающее, отправлять ли HTTP-содержимое клиенту. |
В следующей таблице представлены некоторые важные методы:
метод | описывать |
---|---|
Добавитьхедер | Добавляет HTTP-заголовок в выходной поток. AddHeader предусмотрен для совместимости с более ранними версиями ASP. |
AppendCookie | Инфраструктура добавляет файл cookie HTTP во внутреннюю коллекцию файлов cookie. |
AppendHeader | Добавляет HTTP-заголовок в выходной поток. |
Аппендтолог | Добавьте пользовательские данные журнала в файл журнала служб IIS. |
ДвоичныйЗапись | Записывает строку двоичных символов в поток вывода HTTP. |
Очистить содержимое | Очищает весь вывод из буферизованного потока. |
Закрывать | Закройте клиентский сокет. |
Конец | Отправляет клиенту весь существующий буферизованный вывод, останавливает выполнение страницы и вызывает событие EndRequest. |
Равно(Объект) | Определяет, эквивалентен ли указанный объект существующему объекту. |
Румянец | Отправьте клиенту весь существующий буферизованный вывод. |
GetType | Получает тип существующего экземпляра. |
Фото | Добавляет заголовок HTTP PICS-Label к выходному потоку. |
Перенаправление (строка) | Перенаправьте запрос на новый URL-адрес и укажите новый URL-адрес. |
Перенаправление (строка, логическое значение) | Перенаправьте клиента на новый URL-адрес. Указывает новый URL-адрес и необходимость закрытия существующей страницы. |
SetCookie | Обновите существующие файлы cookie в коллекции файлов cookie. |
ТоСтрока | Возвращает строку, представляющую существующий объект |
Трансмитфиле (строка) | Записывает указанный файл непосредственно в поток вывода ответа HTTP без буферизации в памяти. |
Написать (Символ) | Записывает символ в поток вывода ответа HTTP. |
Запись (Объект) | Записывает объект в поток ответов HTTP. |
Запись (строка) | Записывает строку в поток вывода ответа HTTP. |
WriteFile (строка) | Записывает содержимое указанного файла непосредственно в выходной поток ответа HTTP в виде блока файла. |
WriteFile(строка, логическое значение) | Записывает содержимое указанного файла непосредственно в поток вывода HTTP-ответа в виде блока памяти. |
В следующем простом примере имеется элемент управления «текстовое поле», позволяющий пользователю вводить имя, кнопка, которая отправляет информацию на сервер, и элемент управления «метка», отображающий URL-адрес клиентского компьютера.
Файлы содержимого:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="server_side._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> Enter your name: <br /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" /> <br /> <asp:Label ID="Label1" runat="server"/> </div> </form> </body></html>
Button1_Нажмите код после нажатия:
protected void Button1_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(TextBox1.Text)) { // Access the HttpServerUtility methods through // the intrinsic Server object. Label1.Text = "Welcome, " + Server.HtmlEncode(TextBox1.Text) + ". <br/> The url is " + Server.UrlEncode(Request.Url.ToString()) }}
Запустите страницу, чтобы увидеть следующие результаты: