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

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 374 375 376 377 378 379 < 380 > 381 382 383 384 385 386 .. 404 >> Следующая


>

> " return data;

} ¦

Прежде всего данный метод осуществляет проверку, не находится ли объект с данными установками в кэш-памяти, куда он попадает при первом обращении К методу. Если объект уже находится В кэш-памяти, ТО метод GetSettingsO просто возвращает эти данные. Если объект в кэш-памяти отсутствует, то сначала создается объект XmlSerializer, затем осуществляется открытие параметра файла, указанного в качестве первого, после чего для потока файла создается объект XmlTextReader. В завершение состояние объекта извлекается посредством метода Deserialize() объекта XmlSerializer, а полученный в результате всех этих действий объект AppSettings помещается в кэш-память для последующего использования.

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

Вторым любопытным моментом является способ, с помощью которого установки переносятся в кэш. Обратите внимание на следующую строку кода:

Context.Cache.Insert('AppSettinga*, data, new CacheDependency(filename));

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

809

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

И последний момент: когда состояние объекта перезагружается из файла, то все установки, хранящиеся в XML-файле в виде строк, автоматически приводятся к тому типу, которым обладает соответствующее свойство.

Метод savesettinarao обладает структурой, аналогичной структуре метода Get-Settings(К

' public static void SaveSettings (string FileName, Appsettings data) t

XmlSerializer « new XmlSerializer(typeof (AppSettings)) ;

П Создать XmlTextWriter используя FileStream Filestream fa = new Filestream (fileName, FileMode.Create)i XmlTextWriter writer ¦ new XmlTextWriter <fe, new UTP8Encoding<)) ;

/У Осуществить сериализации, используя XmlTextWriter serializer.Serialize(writer, data)t writer.Close();

)

Единственный новый момент заключается в том, что некоторые символы, например ‘<‘ и *>’, кодируются, поскольку с точки зрения XML они обладают особым смыслом (они используются для обрамления XML-тегов). Способ такого кодирования задается В КОНСТруКТОре Объекта XmlTextWriter.

Компиляция модуля

Если вы вели разработку в Visual Studio.NET, то ваш Solution Explorer должен принять вид, изображенный на рисунке слева.

При этом в режиме Class View должна выводиться следующая картинка, представленная на рисунке справа.

Управление пользовательским интерфейсом

Разработка базы данных и бизнес-классов завершена, т. е. большая часть работы уже выполнена. Теперь мы собираемся заняться разработкой пользовательского интерфейса приложения, а также использовать бизнес-классы для чтения и записи данных из базы данных.

Прежде чем переходить к рассмотрению кода на ASP.NET и С#, взглянем на некоторую часть результатов, к которым мы стремимся (см. рис, на стр. 810).

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

?а** н: - riewt-^llrrCfli

rj________

н^зсЗЕЕЕШ

kM J

Л Л? ir4 InLcif atet АОЦшоъ&вьф

-•GetUdiO

• Lr;« 'Д GpShrifl)

г

9-^

M Iiw mi litat tut i - -* Md(r4,t«>nMlr»j,bc4)

- >*MdcfrO ! ИМеЫип)

j -g# iCrtftSWnq

& *4 bjbKrfewce

>' 8д:« And

I - 4 AddfrtrffrMfeltrn&ltring)

U 4 DdcfctfntJ .#

J*

4 u?»<string>

UpdMo,"*, *з rq)

-j# umStfhg

[Sokjliun EHpflW г
m & T'« - I
E E ЗД Solution NewsMalerConAg' (2 prcijettij =¦ шмаяипя 13- !ol BefafencK W AppConfie.W - Щ AssimblyIrfoCwif.« H <?3 NcW*MailcrDB
!Д | Щ Ctes |.
810

Практический пример

мгчгшк'

J --

¦ -1 1 II I к м,1 11. ! | 1. II пн « 1 , h п ¦ Лм-wl Nni.rarj, i 1 hi ш tVi 1-fMi i i Hill ii-.ijp-i 1 ¦ > ui> 1 1 1 irfjn il

:.u L!.ri|ilVii i


a s i vmn '• it if
0 Ш i v г JJ ii
J t* W ЛЧЧ. # 1Kb] > . Jib
E? 9 1ft r--an.j I „Г3 * ;

т

?] i—vt^~Lj—*- - ¦.

jJ

их свойства и предусматривается возможность их сортировки по значению одного из следующих свойств: id, Name, Description. Все ИКОНКИ, выводящиеся в таблице (рисунки, расположенные левее столбца id и праоее столбца Description), представляют собой гиперссылки на другие страницы, позволяющие выполнять какие-либо другие действия над данным списком или над данной строкой. Ниже приводится перечень иконок, которые могут располагаться внутри таблицы с описанием выполняемых ими действий.
Предыдущая << 1 .. 374 375 376 377 378 379 < 380 > 381 382 383 384 385 386 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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