Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 336

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 330 331 332 333 334 335 < 336 > 337 338 339 340 341 342 .. 404 >> Следующая

следующие два изменения: 3ff 20010719JWl.wnJl
// LoadAl1Entries - осуществляет if загрузку всех вхождений с диска. . . Ijtictiiji) 'iyjtjibtJ My Cuntiuief ^

public static Entry[] LoadAl1Entries ()

(

// определение пути, по которому располагаьтся вхождения... Directorylnfo entryFolder = new Directory InEo(EntryFilePath);

// получение списка файлов.,.

Fiieinfo[J files - entryFolder.GetFiles();

// создание массива вхождений...

Entry[] entries = new Entry[files.Length];

II просмотр в цикле всех файлов и их загрузка... int index - files.Length - lj foreach(Fiieinfo file in files]

<

entries{index] = LoadEntry[file.Name); index-'j

)

// возврат списка,.. return entries;

rl* t'i Vi,; Fdvtifof 4«>

*¦ - 0 rii "Мы»1-;

Disraeli’s WebJog

3 til

IT July S001 - Thi* »ntiy rtii rnidc lalctt.

Я Ый

Wecifntid 1# July 2001 “ Tcdfijr wi* 'such *n eircitiAfl ttayl Ш

Enlr

Tuesday, ] 7 July ZOO I " Anyona fine/ л cup of coffee? Cre-alt д пси entry

ejOew

Wt

zi

Ж

Откомпилируйте и запустите проект. Файлы будут выводиться в правильном порядке, как это проиллюстрировано на рисунке слева.

Как это работает

Вся хитрость заключается в том, что массив заполняется в порядке, обратном тому, в котором файлы хранятся на диске. При создании массива известно, какого он должен быть размера, поскольку предполагается, что он должен в точности соответствовать размерам массива ОбъеКТОВ Fiieinfo, ВОЗВращаеМОГО МетОДОМ GetFiles ().

// LoadAllEntriee - осуществляет загрузку всех вхождений с диска... public static Entry[] LoadA11Entries()

(

it определение пути, по которому располагается вхождения... Directorylnfo-entryFolder = new Directorylnfo (EntryFilePath) ;

// получение списка файлов...

Filelnfof] files = entryFolder,GetFiles ();

// создание массива вхождений...

Entry[] entriea = new Entry[files.Length];
720 Глава 24

Прн прохождении в цикле по объектам Filelnfo мы обращаемся к методу Global .LoadEntry с целью создания нового объекта Entry для каждого объекта Filelnfo. Мы сохраняем этот объект о массиве на позиции, определяемой переменной index, которая изначально соответствует последнему элементу массива н уменьшается на каждой итерации на единицу до тех пор, пока не будет просмотрен весь массив files:

It просмотр в цикле всех файлов и их загрузка., . int index = files.Length - 1; foreach(Filelnfo file in files)

С

entries[index] = LoadEntry (file.Nome); index—;

)

II возврат списка... return entries;

)

Использование сеансов и нуни

Нами создан web-сайт, на который может зайти любой пользователь и создать новые вхождения web-регистратора или отредактировать уже существующие. Это представляется не слишком разумным — в идеале только владелец сайта должен иметь возможность вносить в него изменения.

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

Сеансовые режимы позволяют web-cepeepy соотнестнм набор данных с конкретным web-браузером. Прн таком сценарии браузер как бы “помечается" при своем первом обращении к данному сайту. Такая пометка является уникальной и прн последующих обращениях используется в качестве ключа, “отпирающего" данные, относящиеся к сайту.

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

В сеансе можно хранить большое количество произвольной информации, но, поскольку на это расходуется память сервера, следует стремиться к тому', чтобы хранилось как можно меньше информации. Напрнмер, стоит ли хранить в сеансе развернутую информацию о пользователе, если можно ограничиться только относительно небольшой ID пользователя, а за более подробной информацией обращаться только тогда, когда в ней действительно возникает необходимость?

Ограничение доступа н web-сайту

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

721

Практикум: запрет редактирования

1. Откройте редактор кода для файла Global.азах.

Найдите метод session_start<) и добавьте в него следующий код:

protected void Session_Start(Object sender, EvenCArgs e)

(

// конфигурирование сеанса...

.Session!'canedic*I = false»

)

2. Откройте редактор кода для файла Edit.aspx.
Предыдущая << 1 .. 330 331 332 333 334 335 < 336 > 337 338 339 340 341 342 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.