Встроенные объекты ASP.Net

искусственный интеллект
  • Response объект
  1. Объект Response в основном используется для отправки данных с сервера обратно в браузер.

2. Общие атрибуты и описания объекта Response

Атрибуты инструкция
Buffer Получает или задает значение, указывающее, следует ли буферизовать выходные данные и отправлять их после обработки всего ответа.
Cache Получите политику кэширования веб-страницы, такую ​​как прошедшее время, конфиденциальность, изменение слов и т. д.
Charset Установить или получить кодировку символов вывода HTTP
Expires Получает или задает количество минут до истечения срока действия кэшированной в браузере страницы.
BufferOutput Получает или задает значение, указывающее, следует ли буферизовать выходные данные и отправлять их после обработки всей страницы.
Cookies Получить коллекцию файлов cookie для текущего запроса.
IsClientConnected Возвращает, подключен ли клиент к серверу.
SuppressContent Укажите, следует ли отправлять содержимое HTTP в клиентский браузер. Если true, веб-страница не будет доставлена ​​клиенту.
  1. Свойство BufferOutput

Это свойство используется для получения или установки значения, указывающего, следует ли буферизовать вывод и отправлять его после обработки всей страницы. Синтаксис следующий:

Public bool BufferOutput{get;set;}

Числовое значение: true, если вывод на клиент буферизуется, в противном случае — False. По умолчанию Истина.

protected void Page_Load(object sender, EventArgs e) {

Response.BufferOutput = true;

Ответ.Написать("Тест");

}

  1. Свойство IsClientConnected

Это свойство используется для получения значения, указывающего, подключен ли клиент к серверу.

Синтаксис следующий: public bool IsClientConnected{get;}

Значение свойства: true, если клиент все еще подключен, в противном случае — false. пример:

protected void Page_Load(object sender, EventArgs e)

        {

            if (Response.IsClientConnected)

                Response.Redirect("WebForm1.aspx");

            else

                Response.End();

            }

  1. Общие методы и описания Response
AddHeader Добавьте заголовок HTTP в выходной поток
AppendToLog Добавьте пользовательскую информацию журнала в файлы журнала IIS.
Clear Очистите содержимое буфера.
End Отправить все, что в настоящее время находится в буфере, клиенту, а затем закрыть.
Flush Отправьте все данные в буфере клиенту.
Redirect Перенаправить веб-страницу на другой адрес.
Write вывод данных клиенту
WriteFile Запишите указанный файл непосредственно в поток вывода HTTP.
  1. Метод перенаправления Этот метод используется для перенаправления веб-страницы на другой адрес. Синтаксис следующий:

Public void Redirect(string url)

URL-адрес параметра: URL-адрес, используемый клиентом для поиска запрошенного ресурса.

Описание. При создании веб-страницы пользователь должен быть перенаправлен на другую страницу. Например, пользователям необходимо выполнять переход при запросе данных.В это время можно использовать объект Redirect в свойстве Redirect класса Page, чтобы помочь завершить работу.

Пример. Когда пользователь входит на домашнюю страницу веб-сайта со страницы входа, после ввода действительного имени пользователя и пароля пользователь может перейти на домашнюю страницу веб-сайта, вызвав метод Redirect объекта Response. Код выглядит следующим образом: Response.Redirect("Index.aspx");

(2) Метод записи

Этот метод используется для вывода данных клиенту, синтаксис следующий: Response.Write("строка вывода");

Пример:

              <title>Response test</title>

       </head>

       <body>

       <%

For (int i=0;i

%>

</body>

(3) Метод WriteFile

Этот метод используется для записи указанного файла непосредственно в поток вывода HTTP. Синтаксис следующий: public void WriteFile(string filename); Параметры filename: имя файла, которое будет записано в HTTP-выход. пример:

Response.WriteFile(Server.MapPath(@"TextFile.txt");

  • Request объект
  1. Объект запроса, который можно назвать объектом запроса. Этот объект является экземпляром класса HttpRequest, который обеспечивает доступ к текущему запросу страницы, включая заголовки, файлы cookie, строки запроса и т. д. Пользователь может использовать этот класс для чтения того, что отправил браузер. Когда пользователь открывает браузер и запрашивает веб-страницу с веб-сайта, веб-сервер получает запрос, который содержит информацию о пользователе, компьютере пользователя, странице и объекте браузера, который их использует. Вся вышеуказанная информация предоставляется одновременно через объект Request.
  2. Общие свойства и описания объекта Request
ApplicationPath Получите путь к корневому каталогу виртуального приложения ASP.NET на сервере.
Browser Получает или задает сведения о возможностях запрашивающего клиентского браузера.
ContentLength Указывает длину содержимого (в байтах), отправленного клиентом.
Cookies Получить набор файлов cookie, отправленных клиентом
FilePath Получить виртуальный путь текущего запроса
Files Получить коллекцию файлов, загруженных клиентом
Form Получить набор переменных формы
Item Получить указанный объект из коллекции Cookies, Form, QueryString или ServerVariables.
Params Получите объединенную коллекцию элементов QueryString, Form, ServerVariables и Cookies.
Path Получить виртуальный путь текущего запроса
QueryString Получить коллекцию строковых переменных HTTP-запроса
UserHostAddress Получить IP-адрес хоста удаленного клиента
UserHostName Получить DNS-имя удаленного клиента
  1. Свойство Browser Это свойство используется для получения или установки информации о запрашивающем клиентском браузере. Синтаксис следующий: public HttpBrowserCapabilies Browser{get;set;}

Значение свойства: объект HttpBrowserCapabilities, в котором перечислены возможности браузера клиента. пример:

  protected void Page_Load(object sender, EventArgs e)

        {

Response.Write("Платформа браузера:"+Request.Browser.Platform+"
"+"Тип браузера:"+Request.Browser.Type+"
"+"Версия браузера:"+Request.Browser.Version) ;

        }

  1. Свойство QueryString

Это свойство используется для получения набора строковых переменных HTTP-запроса,

Синтаксис следующий: public NameValueCollection QueryString{get;}

Значение свойства: NameValueCollection, содержащий коллекцию строковых переменных запроса, отправленных клиентом.

  1. Общие методы и описания объекта Request
метод инструкция
MapPath Сопоставьте виртуальный путь в URL-адресе текущего запроса с физическим путем на сервере.
SaveAs Сохранить HTTP-запрос на диск
  1. Метод MapPath

该方法用于接收一个字符串类型的参数,并返回当前文件所在的实际路径。该方法主要应用在需要使用实际路径的位置。例如,建立数据源连接是,必须制定完整的路径,这是就可以使用MapPath方法将其取回。 Синтаксис следующий:

Public string MapPath(string virtualPath)

Параметр virtualPath: виртуальный путь текущего запроса (абсолютный или относительный путь).

Возвращаемое значение: физический путь к серверу, указанный в virtualPath.

Например, следующий код используется для получения физического пути к странице Default.aspx.

Строка str=Request.MapPath("Default.aspx");

(2) метод Сохранить как

Этот метод используется для сохранения HTTP-запроса на жесткий диск и очень полезен при отладке.

Синтаксис следующий:

Public void SaveAs(string filename.bool includeHeaders)

Описание параметра: имя файла: путь физического диска.

IncludeHeaders: логическое значение, указывающее, следует ли сохранять заголовки HTTP на диск. пример:

protected void Page_Load(object sender, EventArgs e)

        {

            Request.SaveAs(Server.MapPath("TextFile1.txt"), true);

            }

  1. Приложение ответа

Пример. Во время работы программы введите значение в текстовое поле TestBox на странице Default.aspx, нажмите кнопку поиска и перенесите значение из текстового поля TestBox в адресную строку страницы WebForm1.aspx.

 

Основной код:

1. По умолчанию.aspx

protected void btnSearch_Click(object sender, EventArgs e)

   {

            Response.Redirect("WebForm1.aspx?id=" + txt.Text);

        }

2. Веб-форма1.aspx

protected void Page_Load(object sender, EventArgs e)

    {

Response.Write("Идентификатор, переданный в адресной строке: " + Request.QueryString["id"]);

        }

  • Application объект
  1. Объект Application, который можно назвать объектом, записывающим параметры приложения, в основном используется для обмена информацией о наборе приложений. Объект Application используется для совместного использования информации о наборе приложений, то есть несколько пользователей совместно используют объект Application. Когда первый пользователь запрашивает файл ASP.NET, приложение запускается и создается объект Application. После создания объекта Application он может обмениваться информацией и управлять ею во всем приложении. Объект Application будет сохраняться до тех пор, пока приложение не будет закрыто. Таким образом, объект Application является основным объектом, используемым для запуска приложений ASP.NET и управления ими.
  2. Общие свойства и описания объекта Application
Атрибуты инструкция
AllKeys Возвращает все имена переменных объекта приложения в массив строк
Count Получает номер переменной объекта приложения
Item Позволяет вернуть значение содержимого, используя индекс или имя переменной приложения.
  1. Свойство Count Это свойство используется для получения количества переменных объекта приложения.

Синтаксис следующий: public override int Count{get;} Значение свойства: количество объектов Item в коллекции, значение по умолчанию равно 0. пример:

protected void Page_Load(object sender, EventArgs e)

        {

            Application["app1"] = "app1";

            Application["app2"] = "app2";

Response.Write("Количество объектов Application: " + Application.Count);

        }

  1. Свойство элемента Это свойство можно перегрузить, существует два формата, соответственно по индексу и имени, для получения значения одного объекта приложения. Синтаксис следующий:

Public Object this[int index]{get;}//Числовой индекс объекта в коллекции индексов

Public Object this [string name]{get;set;}//Имя объекта в коллекции

пример:

protected void Page_Load(object sender, EventArgs e)

        {

            Application["app1"] = "app1";

            Application["app2"] = "app2";

            Response.Write(Application["app1"].ToString());

            Response.Write(Application[1].ToString());

             }

  1. Общие методы и описания объектов Application
метод инструкция
Add Добавьте переменную объекта приложения
Clear Очистить все переменные объекта приложения
Lock Заблокировать все переменные объекта приложения
Remove Удалить переменную объекта приложения, используя имя переменной
RemoveAll Удалить все переменные объекта приложения
UnLock Разблокировать переменную объекта приложения
  1. Метод Add Этот метод используется для добавления новой переменной в коллекцию Application. Синтаксис следующий:

Public void Add(string name,Object value);

Описание параметра: name: Имя переменной, которое будет добавлено к объекту Application. Значение: значение переменной. пример:

Application.Add ("мистер", "мистер");

(2) Lock方法 该方法用于锁定全部的Application对象变量。 Синтаксис следующий:

Public void Lock();

Например, при подсчете количества людей в сети вы должны сначала заблокировать объект Application, чтобы предотвратить параллелизм, вызванный одновременным просмотром страницы несколькими пользователями. Общие форматы следующие:

Application.Lock();Application("переменная")="expression";Application.UnLock();

Описание. Метод Lock может запретить другим пользователям изменять переменные, хранящиеся в объекте приложения, чтобы гарантировать, что только один пользователь может одновременно изменять и получать доступ к переменным приложения. Если пользователь явно не использует метод Unlock, сервер разблокирует объект Application, когда файл подкачки закончится или будет превышен. Метод Unlock позволяет другим клиентам использовать метод Lock для блокировки объекта Application и последующего изменения переменных, хранящихся в объекте. Если этот метод не вызывается явно, веб-сервер разблокирует объект Application после того, как файл подкачки закончится или превысит его.

  1. Метод Remove Этот метод используется для удаления указанной переменной из коллекции Application. Синтаксис следующий:

Public void Remove(string name)

Параметры Имя: имя переменной, которое необходимо удалить из объекта приложения.

Например: Следующий код удаляет переменную приложения mr из коллекции Application.

Application.Remove("г-н");

Если вы хотите удалить все переменные в коллекции Application, вы можете напрямую вызвать ее метод RemoveAll. Код выглядит следующим образом: Application.RemoveAll();

  1. Общие события объекта Application
  1. Событие Application_Start возникает перед созданием нового сеанса в первый раз Доступны только встроенные объекты Application и Server. Эталонный сеанс, запрос в событии Application_Start

или объект Response вызовет ошибку. Так как объект Application является общим для нескольких пользователей, он существенно отличается от объекта Session, в то же время объект Application не исчезнет при уходе одного или даже всех пользователей, а после того, как объект Application будет установлен, он будет существовать до тех пор, пока сайт закрыт или объект Приложение закрыт Объекты выгружаются, что обычно занимает много времени. Поскольку объект Application не выходит из системы сам по себе после создания, его следует использовать с особой осторожностью. Кроме того, он потребляет память, чтобы соответственно не замедлять работу сервера для других заданий. Существует 3 метода прекращения работы объекта Application, а именно прекращение службы, изменение файла Global.asax или выгрузка объекта Application. пример:

   protected void Application_Start(object sender, EventArgs e)

        {

            Application["Name"] = "sgusauyfdsg";

             }

  1. Событие Application_End происходит после события Session_End при выходе из приложения. Можно использовать только встроенные объекты Application и Server. Событие Application_End срабатывает только тогда, когда служба завершается или объект приложения выгружается. Если объект Application используется отдельно, это событие может быть инициировано объектом Application, а затем с помощью события Unload для выгрузки. Событие Application_End должно произойти после события Session. Событие Application_End запускает единственный сценарий, существующий в файле Global.asax. Примечание. Если вы хотите выполнять какие-либо операции при завершении службы или выгрузке объекта Application, вы можете написать соответствующий код в событии Application_End.
  • Session объект
  1. Объект Session используется для хранения переменных или объектов на веб-страницах. Этот объект предназначен только для одного веб-пользователя, то есть сервер выделит свой собственный объект Session для подключенного клиента, и разные клиенты не смогут получить доступ друг к другу. Когда установленное действительное время превышено, объект Session исчезнет. Как и объект Application, объект Session также является членом объекта Page, поэтому его можно использовать непосредственно на веб-странице. Синтаксис для хранения информации с использованием объекта Session следующий:

Session["имя переменной"] = "контент";

  1. Общие свойства и описания объектов Session
Атрибуты инструкция
Contents Получить ссылку на текущий объект состояния сеанса
Item Получить или установить значение сеанса
TimeOut Установите действительное время объекта Session, значение по умолчанию — 20 минут.
  1. Свойство Contents Получает ссылку на текущий объект состояния сеанса. Синтаксис следующий:

Public HttpSessionState Contents{get;}

Значение свойства: текущий HttpSessionState.

пример:

protected void Page_Load(object sender, EventArgs e)

        {

            Session["id1"] = "id1e";

            Session["id2"] = "isd2";

            foreach (string str in Session.Contents)

            {

                Response.Write(Session[str].ToString());

                Response.Write("<br/>");

            }   

        }

(2) Свойство TimeOut

Это свойство используется для получения и установки времени (в минутах), допустимого между запросами, прежде чем поставщик состояния сеанса завершит сеанс.

Синтаксис: public int TimeOut{get;set;}

Значение свойства: Время ожидания (в минутах)

Примечание. Чтобы изменить значение атрибута тайм-аута, вы также можете использовать атрибут тайм-аута элемента конфигурации sessionSate, чтобы установить атрибут тайм-аута в Web.Config, или вы можете использовать программный код, чтобы напрямую установить значение атрибута тайм-аута. Свойство Timeout не может превышать значение 525600 (1 год).

Пример:

  1. Общие методы объекта Session
Атрибуты инструкция
Abandon Завершает текущий сеанс и очищает всю информацию в сеансе.
Add Используется для добавления нового элемента в коллекцию объектов Session.
CopyTo Копирует коллекцию значений состояния сеанса в одномерный массив
Clear Очистить все переменные объекта сеанса без завершения сеанса
  1. Clear Этот метод используется для очистки всех переменных объекта Session.

Синтаксис следующий: public void Clear()

Пример: Session.Clear();

  1. Добавить Этот метод используется для добавления нового элемента в коллекцию объектов Session.

Синтаксис следующий: public void Add(string name,Object value);

Параметр Описание: Имя, чтобы добавить имя в коллекции объектов сеанса

Value Значение элемента, добавляемого в коллекцию объектов Session.

Пример: Session.Add("тест", "тестовый текст");

  1. Приложение объекта сеанса. Существует множество применений объекта сеанса, например, для хранения переменных, оценки того, вошел ли пользователь в систему и т. д. пример:

(1) Страница входа

 

Код:

protected void btnLogin_Click(object sender, EventArgs e)

    {

        if (txtName.Text == "mr" && txtPwd.Text == "mrsoft")

{//Используйте переменную сеанса для записи имени пользователя

                    Session["UserName"] = txtName.Text;

//Используем переменную Session для записи времени входа пользователя в систему Session["TimeLogin"] = DateTime.Now;

Response.Redirect("~/userpage.aspx");// Перейти на главную

        }

        else

        {

Response.Write("");

        }

    }

(2) Объект сеанса записывает имя пользователя и время входа в систему.

 

  protected void Page_Load(object sender, EventArgs e)

    {

Response.Write("Добро пожаловать, пользователь" + Session["UserName"].ToString() + "Войдите в эту систему!
");

Response.Write("Ваше время входа: " + Session["TimeLogin"].ToString());

 

}

  • CooKie объект
  1. Объект cookie используется для сохранения страницы сервера, запрошенной клиентом, а также может использоваться для хранения неконфиденциальной информации.Время хранения информации может быть установлено в соответствии с потребностями пользователя. Не все браузеры поддерживают файлы cookie, а информация о данных хранится на клиентском компьютере в текстовом виде.
  2. Часто используемые атрибуты и описания объектов Cookie
Атрибуты инструкция
Clear очистить все куки
Expires Установите время действия переменной cookie, по умолчанию 100 минут, если установлено значение 0, переменная cookie будет удалена в режиме реального времени.
Name Получить имя переменной cookie
Value Получить или установить значение содержимого переменной cookie
Path Установите виртуальный путь для передачи с текущим файлом cookie
  1. Свойство Expires Это свойство используется для установки двух общих свойств объекта Cookie. Синтаксис следующий:

Public Datatime Expires{get;set;}

Значение атрибута: истекшее время файла cookie (на стороне клиента)

Пример: protected void Page_Load (отправитель объекта, EventArgs e)

        {

            HttpCookie cookie = new HttpCookie("UserName");

cookie.Value = "Технология завтрашнего дня";

            cookie.Expires = DateTime.Now.AddMinutes(20);

           }

  1. Свойство Path используется для установки виртуального пути, передаваемого с текущим файлом cookie.

Синтаксис следующий: общедоступная строка Path{get; set;}

Значение атрибута: виртуальный путь для передачи с предыдущим файлом cookie. По умолчанию используется путь текущего запроса. пример:

  HttpCookie cookie = new HttpCookie("UserName");

cookie.Value = "Технология завтрашнего дня";

        cookie.Expires = DateTime.Now.AddMinutes(20);

        Response.Cookies.Add(cookie);

        Response.Write(Request.Cookies["UserName"].Path);

  1. Общие методы и описания объектов cookie
метод инструкция
Equals Определяет, равен ли указанный файл cookie текущему файлу cookie
ToString возвращает строковое представление этого объекта Cookie
  1. Метод ToString Представляет строку текущего объекта. Синтаксис следующий:

Public virtual string ToString()

Возвращаемое значение: строка, представляющая текущий объект.

  1. Метод Equals используется для определения того, равен ли указанный объект текущему объекту. Синтаксис следующий:

Public virtual bool Equals(Object obj)

Возвращаемое значение: true, если указанный объект равен текущему объекту, в противном случае — false.

Пример: protected void Page_Load (отправитель объекта, EventArgs e)

    {

//объявить экземпляр HttpCookie cookie1

        HttpCookie cookie1 = new HttpCookie("userName1");

cookie1.Value = "Технология завтрашнего дня";//Назначить cookie1.

//объявить экземпляр HttpCookie cookie1

        HttpCookie cookie2 = new HttpCookie("UserName2");

cookie2.Value = "Технология завтрашнего дня"; // присваиваем cookie1

Response.Cookies.Add(cookie1);//Добавить cookie1

Response.Cookies.Add(cookie2);//Добавить cookie2

        if(Equals(Request.Cookies["userName1"].Value, Request.Cookies["userName2"].Value))

Response.Write("Значения Cookie равны"); //Равны ли значения двух объектов Cookie

        else

Response.Write("Значения файлов cookie не равны");

}

  • Server объект
  1. Объект Sever определяет класс, относящийся к веб-серверу, для доступа к ресурсам на указанном сервере.
  2. Общие свойства и описания объектов Сервера
Атрибуты инструкция
MachineName Получить имя компьютера сервера
ScriptTimeout Получить или установить значение времени ожидания запроса (в секундах)
  1. Свойство MachineName Это свойство используется для получения имени компьютера сервера. Синтаксис следующий:

Public string MachineName{get;}

Значение свойства: имя локального компьютера.

Пример: Response.Write(Server.MachineName.ToString());

  1. ScriptTimeout Это свойство используется для получения или установки значения времени ожидания запроса. Синтаксис следующий:

Public int ScriptTimeout{get;set;}

Значение атрибута: установка значения времени ожидания запроса

  1. Общие методы и описания объектов Сервера
метод инструкция
HtmlDecode Кодировать строку, которая была закодирована, чтобы исключить недопустимые символы HTML.
HtmlEnCode Кодировать строку, которая будет отображаться в браузере
MapPath Возвращает физический путь к файлу, соответствующий указанному виртуальному пути на веб-сервере.
UrlDecode Кодировать строку, которая кодируется для транспорта HTTP и отправляется на сервер в URL-адресе.
UrlEncode Кодировать строки для надежной передачи HTTP с веб-сервера клиенту по URL-адресу
  1. Метод MapPath используется для возврата физического пути к файлу относительно указанного виртуального пути на веб-сервере. Синтаксис следующий: общедоступная строка MapPath(строковый путь)

Путь параметра: виртуальный путь веб-сервера.

Пример: Response.Write(Server.MapPath("Default.aspx"));

  1. Метод HtmlEncode используется для HTML-кодирования строки и возврата закодированной строки. Синтаксис следующий: общедоступная строка HtmlEncode(string s)

Пример: Server.HtmlEncode("строка в браузере"+"
");

//результат: строка в браузере

  1. Метод HtmlDecode используется для HTML-кодирования строки и возврата закодированной строки.

Синтаксис следующий: общедоступная строка HtmlDecode(string s)

Параметры: s HTML-строка для тети

Пример: Server.HtmlEncode("строка в браузере"+"
");//Результат:строка в браузере

Комплексное приложение:

Пример 1, подсчитайте количество входов в систему по IP-адресу

 

Фоновый код:

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            int lastVisitCounter;

            if (Request.Cookies["lastVisitCounter"] == null)

                lastVisitCounter = 0;

            else

                lastVisitCounter = int.Parse(Request.Cookies["lastVisitCounter"].Value);

            lastVisitCounter++;

            HttpCookie aCookie = new HttpCookie("lastVisitCounter");

            aCookie.Value = lastVisitCounter.ToString();

            aCookie.Expires = DateTime.MaxValue;

            Response.Cookies.Add(aCookie);

            txtSum.Text = lastVisitCounter.ToString();

        }

    }

    protected void Button1_Click(object sender, EventArgs e)

    {

        if (Request.Cookies["lastVisitCounter"] == null)     

            txtSum.Text = "1";    

        else

        {

            HttpCookie aCookie = Request.Cookies["lastVisitCounter"];

            txtSum.Text = Server.HtmlEncode(aCookie.Value);

        }

}

Пример 2. Получить информацию о браузере

  protected void Page_Load(object sender, EventArgs e)

    {

//Получить информацию о платформе, типе и версии браузера

lblinfo.Text = "Платформа браузера:" + Request.Browser.Platform + "
"

+ "Тип браузера:" + Request.Browser.Type + "
" + "Версия браузера:"

        + Request.Browser.Version;

}

Пример 3. Вывод содержимого текстового файла

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

StreamReader sr = File.OpenText(Server.MapPath("Peach Blossom Fairy.txt"));

            string rl;

            while ((rl = sr.ReadLine()) != null)

            {

                Response.Write(rl+"<br>");

            }

            sr.Close();

        }

}

Пример 4. Создайте веб-сайт, используйте метод Redirect объекта Response для достижения переходов между страницами и передачи параметров.

 

Страница Default.aspx

  protected void Button1_Click(object sender, EventArgs e)

    {

//получаем логин и пароль

        string name = txtUserName.Text.Trim();

        string pwd = txtPwd.Text.Trim();

        string strsql = "select count(1) from tb_user where userName='" + name + "' and userPwd='" + pwd + "'";

        SqlConnection conn =new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"].ToString());

        conn.Open();

        SqlCommand cmd = new SqlCommand(strsql, conn);

        int flag = int.Parse(cmd.ExecuteScalar().ToString());

        conn.Close();

        if (flag > 0)

        {

            Session["users"] = name;

            Response.Redirect("admin.aspx");

        }

        else

        {

ClientScript.RegisterStartupScript(this.GetType(), "", "alert('Неверное имя пользователя или пароль');", true);

        }

    }

 

Admin.aspx

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            if (Session["users"] != null)

            {

lblinfo.Text = "Поздравляем, успешный вход в систему";

            }

        }

    }

Пример 5. Код подтверждения

Стартовая страница Default2.aspx

<html xmlns="www.w3.org/1999/xhtml">

<head runat="server">

Страница без названия

</head>

<body>

    <form id="form1" runat="server">

    <div>

           <asp:Image ID="Image1" runat="server" ImageUrl="~/Default.aspx"/>

        <br />   

Пожалуйста, введите правильный проверочный код:

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

    </div>

    </form>

</body>

</html>

  protected void Button1_Click(object sender, EventArgs e)

    {

        string checkCode = Request.Cookies["CheckCode"].Value.ToString().ToLower();

        if (checkCode.Equals(TextBox1.Text.ToLower()))

        {

Response.Write("");

        }

    }

Фоновый код Default.aspx

private string GenerateCheckCode()

    {

        int number;

        char code;

        string checkCode = String.Empty;

        Random random = new Random();

        for (int i = 0; i < 4; i++)

        {

            number = random.Next();

            if (number % 2 == 0)

                code = (char)('0' + (char)(number % 10));

            else

                code = (char)('A' + (char)(number % 26));

            checkCode += code.ToString();

        }

        HttpCookie cookie = new HttpCookie("CheckCode", checkCode);

        cookie.Expires = DateTime.Now.AddSeconds(30);

        Response.Cookies.Add(cookie);

        return checkCode;

    }

    protected void Page_Load(object sender, EventArgs e)

    {

        string checkCode = GenerateCheckCode();

        System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 20.5)), 22);

        Graphics g = Graphics.FromImage(image);

        try

        {

// Генерируем генератор случайных чисел

            Random random = new Random();

//Очистить фоновый цвет картинки

            g.Clear(Color.White);

//Рисуем линию фонового шума картинки

            for (int i = 0; i < 2; i++)

            {

                int x1 = random.Next(image.Width);

                int x2 = random.Next(image.Width);

                int y1 = random.Next(image.Height);

                int y2 = random.Next(image.Height);

                g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);

            }

            Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));

            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);

            g.DrawString(checkCode, font, brush, 2, 2);

// Рисуем точку шума на переднем плане изображения

            for (int i = 0; i < 100; i++)

            {

                int x = random.Next(image.Width);

                int y = random.Next(image.Height);

                image.SetPixel(x, y, Color.FromArgb(random.Next()));

            }

g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); // Рисуем границу картинки

            System.IO.MemoryStream ms = new System.IO.MemoryStream();

            image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

            Response.ClearContent();

            Response.ContentType = "image/Jpeg";

            Response.BinaryWrite(ms.ToArray());

        }

        finally

        {

            g.Dispose();

            image.Dispose();

        }

    }

Пример 6. Статистика посещаемости сайта

 

По умолчанию .asp код переднего плана

<table align="center" cellpadding="0" cellspacing="0" class="style1">

    <tr>

        <td>

            <table align="center" cellpadding="0" cellspacing="0" class="style2">

                <tr>

                    <td class="style3">

                        &nbsp;</td>

                    <td>

                        &nbsp;</td>

                </tr>

                <tr>

                    <td class="style3">

                        &nbsp;</td>

                    <td>

                        &nbsp;</td>

                </tr>

                <tr>

                    <td class="style3">

                        &nbsp;</td>

                    <td>

Вы посетитель <%> 

                </tr>

            </table>

        </td>

    </tr>

</table>

Код Global.aspx

<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e)

{//код для запуска при запуске приложения

        int count = 0;

        System.IO.StreamReader srd;

String file_path = Server.MapPath("counter.txt");//Получить фактический путь к файлу

srd = System.IO.File.OpenText(file_path);//Открываем файл для чтения

        while (srd.Peek() != -1)

        {

            string str = srd.ReadLine();

            count = int.Parse(str);

        }

        srd.Close();

        object obj = count;

Application["counter"] = obj; //Прочитанный из файла трафик сайта хранится в объекте Application

    }

    void Application_End(object sender, EventArgs e)

{// Код для запуска при закрытии приложения

        int Stat = 0;

        Stat = (int)Application["counter"];

        string file_path = Server.MapPath("counter.txt");

        System.IO.StreamWriter srw = new System.IO.StreamWriter(file_path, false);

        srw.WriteLine(Stat);

        srw.Close();

    }       

    void Application_Error(object sender, EventArgs e)

    {

// код для запуска, когда есть необработанная ошибка

    }

    void Session_Start(object sender, EventArgs e)

{// Код для запуска при запуске нового сеанса

        Application.Lock();

        int Stat = 0;

Stat = (int)Application["counter"]; //Получить общее количество посещений веб-сайта, сохраненное в объекте Application

Stat += 1;//Накопление данных

        object obj = Stat;

        Application["counter"] = obj;

String file_path = Server.MapPath("counter.txt");//Запись записей данных в файл

        System.IO.StreamWriter srw = new System.IO.StreamWriter(file_path, false);

        srw.WriteLine(Stat);

        srw.Close();

        Application.UnLock();

    }

    void Session_End(object sender, EventArgs e)

{//Код для запуска в конце сеанса.

// Примечание. Только режим состояния сеанса в файле Web.config установлен в значение

Событие session_end будет запущено, когда // Inproc. Если сеансовый режим

//Установите StateServer или SQLServer, это событие не будет вызвано.

    }     

</script>

Пример 7. Подсчитайте количество людей, находящихся сейчас в сети. Когда новый пользователь посещает веб-сайт, будет инициировано событие Session_Start, а когда срок действия пользователя истечет, будет инициировано событие Session-End. Поэтому более научно подсчитывать количество людей онлайн на этих двух мероприятиях.

Код переднего плана Default.aspx

<table align="center" cellpadding="0" cellspacing="0" class="style1"

style="background-image: url('Статистика сайта онлайн-посетителей.png')">

        <tr>

            <td>

                <table align="center" cellpadding="0" cellspacing="0" class="style2">

                    <tr>

                        <td>

                            &nbsp;</td>

                        <td>

        <asp:Label ID="lblCount" runat="server"></asp:Label>

                        </td>

                    </tr>

                </table>

            </td>

        </tr>

</table>

Фоновый код Default.aspx

protected void Page_Load(object sender, EventArgs e)

    {

lblCount.Text="Вы первый" + Application["count"].ToString() + "Посетитель";

    }

Код файла Global.asax

<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e)

{//код для запуска при запуске приложения

        Application["count"] = 0;

    }

    void Application_End(object sender, EventArgs e)

{//Код для запуска при закрытии приложения}

    void Application_Error(object sender, EventArgs e)

{ // код для запуска при необработанной ошибке}

    void Session_Start(object sender, EventArgs e)

{ // код для запуска при запуске нового сеанса

        Application.Lock();

        Application["count"] = (int)Application["count"] + 1;

        Application.UnLock();

    }

    void Session_End(object sender, EventArgs e)

{ // Код для запуска после завершения сеанса.

// Примечание: только если для режима состояния сеанса в файле Web.config установлено значение

// InProc будет вызвано событие Session_End. Если режим сеанса

//Установите StateServer или SQLServer, это событие не будет вызвано.

        Application.Lock();

        Application["count"] = (int)Application["count"] - 1;

        Application.UnLock();

    }

</script>