Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ПСП] / lab22.doc
Скачиваний:
80
Добавлен:
31.05.2015
Размер:
6.19 Mб
Скачать

Файл web.Config

Файл web.config — это текстовый файл в формате XML, который используется для определения множества параметров нашего web-приложения. Обычно этот файл расположен в корне виртуального каталога и используется для каждого подкаталога. По умолчанию в него помещается информация о компиляции, ошибках, безопасности, отладке и глобализации (рис. 14.32). Кроме того, в него могут быть помещены и другие необходимые нам данные.

Рис. 14.32. Файл web.config позволяет настроить основные параметры нашего web-приложения

Исходный файл Global.Asax

Как и в классических ASP, в ASP.NET используется глобальный файл (global.asax), который позволяет взаимодействовать с событиями как уровня всего приложения, так и уровня сеанса подключения. Кроме того, этот файл делает возможным совмест­ное использование различных общих данных. Если мы щелкнем на этом файле в окне Solution Explorer правой кнопкой мыши и в контекстном меню выберем View Code, то сможем просмотреть эту информацию, которая представлена при помощи класса Global. Этот класс является производным от базового класса HttpApplication:

public class Global : System.Web.HttpAppiication

{

protected void Application_Start(Object sender. EventArgs e) {}

protected void Session_Start(Object sender, EventArgs e) {}

protected void Application_BeginRequest(Object sender, EventArgs e) {}

protected void Application_EndRequest(Object sender, EventArgs e) {}

protected void Session_End(Object sender, EventArgs e) {}

protected void Application_End(Object sender, EventArgs e) {}

}

В некоторых отношениях класс Global действует как промежуточное звено меж­ду внешним клиентом и Web Form. Если вы работали с классическими ASP, то мно­гие из этих событий будут вам знакомы. В общем можно сказать, что эти события позволяют нам реагировать на запуск и прекращение работы как web-приложения в целом, так и отдельных сеансов подключения.

Простой код asp.Net на с#

Если мы сейчас обратимся по адресу нашего web-приложения, то среда выполне­ния ASP.NET вернет пустую страницу. Давайте исправим эту ситуацию и изменим содержание файла default.aspx таким образом, чтобы нам возвращалась ин­формация о произведенном запросе HTTP (свойство System.Web.UI.Page.Response нам предстоит вскоре рассмотреть более подробно):

<body MS_POSITIONING="GridLayout">

<h1>

<b>I am:</b>

</h1>

<%=this.ToString() %>

<h1>

<b>You are:</b> <%=Request.ServerVariables["HTTP_USER_AGENT"] %>

<form method="post" runat="server" ID="Form1">

</form>

</body>

Откомпилируем проект и запустим его на выполнение. Нам вернется страница HTML (рис. 14.33), с информацией о браузере, из которого был отправлен запрос, а также о сущности, которая этот запрос приняла (то есть просто имя страницы ASP.NET).

Рис. 14.33. Кто есть кто в ASP.NET

Все выглядит очень похоже на работу с классическими ASP. Однако есть и су­щественные отличия. Например, Request — это теперь свойство объекта, производ­ного от Page. Кроме того, в тегах <%...%> теперь находится не код языка скриптов, а полноценный код С#:

<hl><b>I am: </b> <%=this.ToString() %></h1>

Архитектура web-приложения asp.Net

Теперь, когда у нас уже есть опыт создания очень простого приложения ASP.NET, пора разобраться с основными особенностями архитектуры ASP.NET в целом. Как мы помним, среда выполнения поместила в исходный скриптовый блок на нашей странице следующий блок с таинственным атрибутом Codebehind:

<%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="FirstWebApplication.WebForm1" %>

Главное различие между классическими ASP и ASP.NET заключается в том, что страница *.aspx, которую запрашивает внешний клиент, представлена уникальным классом С#, на который и указывает атрибут Codebehind. Когда клиент запрашивает страницу, среда выполнения ASP.NET создает объект этого класса. Этот файл не показывается в окне Solution Explorer. Чтобы его открыть, необходимо щелкнуть правой кнопкой мыши на уже открытом файле *.aspx и в контекстном меню выбрать View Code. Изначально содержимое этого файла выглядит следующим образом:

namespace FirstWebApplication

{

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

public class WebForm1 : System.Web.UI.Page

{

public WebForm1()

{

Page.Init =+ new System.EventHandler(Page_Init);

}

protected void Page_Load(object sender. System.EventArgs e)

{

// Добавляем пользовательский код для инициализации страницы

}

protected void Page_Init(object sender, EventArgs e)

{

InitializeComponent();

}

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

}

}

Как мы видим, исходный код очень простой. Конструктор класса устанавлива­ет обработчик события для события Init. Реализация этого обработчика вызывает метод InitializeComponent(), который, в свою очередь, устанавливает обработчик события Load.

Соседние файлы в папке [ПСП]