Мы изучили жизненный цикл страницы и то, как страница содержит различные элементы управления. Сама страница создается как объект управления. Все веб-формы в основном являются экземплярами класса ASP.NET Page. Класс страницы имеет следующие чрезвычайно полезные свойства, которые соответствуют внутренним объектам:
- сессия
 - заявка
 - кэш
 - Запрос
 - отклик
 - сервер
 - пользователь
 - след
 
Мы обсудим каждый из этих объектов в свое время. В этом уроке мы рассмотрим объект Server, объект Request и объект Response.
Объект сервера
Объект Server в Asp.NET является экземпляром класса System.Web.HttpServerUtility. Класс HttpServerUtility предоставляет многочисленные свойства и методы для выполнения различных заданий.
Свойства и методы объекта «Сервер»
Методы и свойства класса HttpServerUtility предоставляются через встроенный объект Server, предоставляемый ASP.NET.
В следующей таблице приведен список свойств:
| Имущество | Описание | 
|---|---|
| MachineName | Имя сервера компьютера | 
| ScriptTimeout | Получает и задает значение времени ожидания запроса в секундах. | 
В следующей таблице приведен список некоторых важных методов:
| метод | Описание | 
|---|---|
| CreateObject (String) | Создает экземпляр COM-объекта, идентифицируемый его ProgID (Programmatic ID). | 
| CreateObject (Type) | Создает экземпляр COM-объекта, идентифицируемый его типом. | 
| Равно (Объект) | Определяет, равен ли указанный объект текущему объекту. | 
| Execute (String) | Выполняет обработчик для указанного виртуального пути в контексте текущего запроса. | 
| Execute (String, Boolean) | Выполняет обработчик для указанного виртуального пути в контексте текущего запроса и указывает, следует ли очищать коллекции QueryString и Form. | 
| GetLastError | Возвращает предыдущее исключение. | 
| GetType | Получает тип текущего экземпляра. | 
| HtmlEncode | Изменяет обычную строку в строку с допустимыми символами HTML. | 
| HtmlDecode | Преобразует HTML-строку в обычную строку. | 
| Нанизывать | Возвращает строку, которая представляет текущий объект. | 
| Передача (String) | Для текущего запроса прекращает выполнение текущей страницы и начинает выполнение новой страницы, используя указанный URL-путь страницы. | 
| UrlDecode | Преобразует строку URL в обычную строку. | 
| UrlEncodeToken | Работает так же, как UrlEncode, но в байтовом массиве, который содержит данные в кодировке Base64. | 
| UrlDecodeToken | Работает так же, как UrlDecode, но в байтовом массиве, который содержит данные в кодировке Base64. | 
| MapPath | Вернуть физический путь, который соответствует указанному пути виртуального файла на сервере. | 
| Перечислить | Переносит выполнение на другую веб-страницу в текущем приложении. | 
Объект запроса
Объект запроса является экземпляром класса System.Web.HttpRequest. Он представляет значения и свойства HTTP-запроса, который загружает страницу в браузер.
Информация, представленная этим объектом, обернута абстракциями более высокого уровня (модель веб-управления). Однако этот объект помогает проверять некоторую информацию, такую как браузер клиента и файлы cookie.
Свойства и методы объекта запроса
В следующей таблице приведены некоторые заслуживающие внимания свойства объекта Request:
| Имущество | Описание | 
|---|---|
| AcceptTypes | Получает строковый массив поддерживаемых клиентом типов принятия MIME. | 
| ApplicationPath | Получает корневой путь виртуального приложения ASP.NET на сервере. | 
| браузер | Получает или задает информацию о возможностях браузера запрашивающего клиента. | 
| ContentEncoding | Получает или задает набор символов для тела объекта. | 
| ContentLength | Указывает длину в байтах содержимого, отправляемого клиентом. | 
| Тип содержимого | Получает или задает тип содержимого MIME входящего запроса. | 
| Печенье | Получает коллекцию файлов cookie, отправленных клиентом. | 
| Путь файла | Получает виртуальный путь текущего запроса. | 
| файлы | Получает коллекцию файлов, загруженных клиентом, в многочастном формате MIME. | 
| форма | Получает коллекцию переменных формы. | 
| Заголовки | Получает коллекцию заголовков HTTP. | 
| HTTPMethod | Получает метод передачи данных HTTP (например, GET, POST или HEAD), используемый клиентом. | 
| InputStream | Получает содержимое тела входящего HTTP-объекта. | 
| IsSecureConnection | Получает значение, указывающее, использует ли HTTP-соединение защищенные сокеты (то есть HTTPS). | 
| Строка запроса | Получает коллекцию переменных строки HTTP-запроса. | 
| RawUrl | Получает необработанный URL-адрес текущего запроса. | 
| Тип запроса | Получает или задает метод передачи данных HTTP (GET или POST), используемый клиентом. | 
| ServerVariables | Получает коллекцию переменных веб-сервера. | 
| TotalBytes | Получает количество байтов в текущем входном потоке. | 
| Веб-сайт | Получает информацию об URL текущего запроса. | 
| UrlReferrer | Получает информацию об URL предыдущего запроса клиента, который связан с текущим URL. | 
| UserAgent | Получает необработанную строку пользовательского агента клиентского браузера. | 
| UserHostAddress | Получает IP-адрес хоста удаленного клиента. | 
| UserHostName | Получает DNS-имя удаленного клиента. | 
| UserLanguages | Получает отсортированный строковый массив настроек языка клиента. | 
В следующей таблице приведен список некоторых важных методов:
| метод | Описание | 
|---|---|
| BinaryRead | Выполняет двоичное чтение указанного количества байтов из текущего входного потока. | 
| Равно (Объект) | Определяет, равен ли указанный объект текущему объекту. (Унаследовано от объекта.) | 
| GetType | Получает тип текущего экземпляра. | 
| MapImageCoordinates | Сопоставляет входящий параметр формы поля изображения с соответствующими значениями x-координаты и y-координаты. | 
| MapPath (String) | Сопоставляет указанный виртуальный путь с физическим путем. | 
| Сохранить как | Сохраняет HTTP-запрос на диск. | 
| Нанизывать | Возвращает строку, которая представляет текущий объект. | 
| ValidateInput | Вызывает необходимость проверки для коллекций, доступ к которым осуществляется через свойства Cookies, Form и QueryString. | 
Объект ответа
Объект Response представляет ответ сервера на запрос клиента. Это экземпляр класса System.Web.HttpResponse.
В ASP.NET объект ответа не играет существенной роли при отправке HTML-текста клиенту, поскольку серверные элементы управления имеют вложенные объектно-ориентированные методы для визуализации.
Однако объект HttpResponse по-прежнему предоставляет некоторые важные функции, такие как функция cookie и метод Redirect (). Метод Response.Redirect () позволяет переносить пользователя на другую страницу как внутри, так и снаружи приложения. Это требует поездки туда и обратно.
Свойства и методы объекта ответа
В следующей таблице приведены некоторые заслуживающие внимания свойства объекта Response:
| Имущество | Описание | 
|---|---|
| буфер | Получает или задает значение, указывающее, следует ли буферизовать выходные данные и отправить их после завершения обработки полного ответа. | 
| BufferOutput | Получает или задает значение, указывающее, следует ли буферизовать вывод и отправить его после завершения обработки всей страницы. | 
| Charset | Получает или задает набор символов HTTP выходного потока. | 
| ContentEncoding | Получает или задает набор символов HTTP выходного потока. | 
| Тип содержимого | Получает или задает тип HTTP MIME выходного потока. | 
| Печенье | Получает коллекцию файлов ответов. | 
| Истекает | Получает или задает количество минут до истечения срока действия страницы, кэшированной в браузере. | 
| ExpiresAbsolute | Получает или задает абсолютную дату и время для удаления кэшированной информации из кэша. | 
| HeaderEncoding | Получает или задает объект кодирования, представляющий кодировку для текущего потока вывода заголовка. | 
| Заголовки | Получает коллекцию заголовков ответов. | 
| IsClientConnected | Получает значение, указывающее, подключен ли клиент к серверу. | 
| Выход | Разрешает вывод текста в исходящий поток ответов HTTP. | 
| OutputStream | Включает двоичный вывод в тело исходящего содержимого HTTP. | 
| RedirectLocation | Получает или задает значение заголовка Http Location. | 
| Статус | Устанавливает строку состояния, которая возвращается клиенту. | 
| StatusCode | Получает или задает код состояния HTTP выходных данных, возвращаемых клиенту. | 
| StatusDescription | Получает или задает строку состояния HTTP выходных данных, возвращаемых клиенту. | 
| SubStatusCode | Получает или задает значение, определяющее код состояния ответа. | 
| SuppressContent | Получает или задает значение, указывающее, отправлять ли содержимое HTTP клиенту. | 
В следующей таблице приведен список некоторых важных методов:
| метод | Описание | 
|---|---|
| AddHeader | Добавляет заголовок HTTP в выходной поток. AddHeader предоставляется для совместимости с более ранними версиями ASP. | 
| AppendCookie | Инфраструктура добавляет HTTP-файл cookie к внутренней коллекции файлов cookie. | 
| AppendHeader | Добавляет заголовок HTTP в выходной поток. | 
| AppendToLog | Добавляет настраиваемую информацию журнала в файл журнала служб IIS. | 
| BinaryWrite | Записывает строку двоичных символов в поток вывода HTTP. | 
| ClearContent | Очищает весь вывод содержимого из потока буфера. | 
| близко | Закрывает сокет подключения к клиенту. | 
| Конец | Отправляет весь текущий буферизованный вывод клиенту, останавливает выполнение страницы и вызывает событие EndRequest. | 
| Равно (Объект) | Определяет, равен ли указанный объект текущему объекту. | 
| Промывать | Посылает весь текущий буферизированный вывод клиенту. | 
| GetType | Получает тип текущего экземпляра. | 
| Pics | Добавляет заголовок HTTP PICS-Label к выходному потоку. | 
| Перенаправление (String) | Перенаправляет запрос на новый URL и указывает новый URL. | 
| Redirect (String, Boolean) | Перенаправляет клиента на новый URL. Указывает новый URL-адрес и следует ли прекратить выполнение текущей страницы. | 
| SetCookie | Обновляет существующий файл cookie в коллекции файлов cookie. | 
| Нанизывать | Возвращает строку, которая представляет текущий объект. | 
| TransmitFile (String) | Записывает указанный файл непосредственно в поток вывода ответа HTTP, не буферизуя его в памяти. | 
| Написать (Char) | Записывает символ в поток вывода ответа HTTP. | 
| Write (Object) | Записывает объект в поток ответов HTTP. | 
| Write (String) | Записывает строку в поток вывода ответа HTTP. | 
| WriteFile (String) | Записывает содержимое указанного файла непосредственно в поток вывода ответа HTTP в виде блока файла. | 
| WriteFile (String, Boolean) | Записывает содержимое указанного файла непосредственно в поток вывода ответа 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_Click:
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())
   }
}
Запустите страницу, чтобы увидеть следующий результат: