Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Оглавление книги
- Введение
- Вы и я – одна команда
- Обзор содержимого книги
- Исходный код примеров книги
- Связь с автором
- От издательства
- ЧАСТЬ I. Общие сведения о языке C# и платформе .NET
- ГЛАВА 1. Философия .NET
- Предыдущее состояние дел
- Подход C/Win32 API
- Подход C++/MFC
- Подход Visual Basic 6.0
- Подход Java/J2EE
- Подход COM
- Подход Windows DNA
- Решение .NET
- Главные компоненты платформы .NET (CLR, CTS и CLS)
- Роль языка C#
- Другие языки программирования с поддержкой .NET
- Компоновочные блоки .NET
- Одномодульные и многомодульные компоновочные блоки
- Роль CIL
- Роль метаданных типов .NET
- Роль манифеста компоновочного блока
- Общая система типов
- Тип класса
- Тип структуры
- Тип интерфейса
- Тип перечня
- Тип делегата
- Члены типов
- Встроенные типы данных CTS
- Общеязыковые спецификации
- Общеязыковая среда выполнения
- Различия между компоновочными блоками, пространствами имен и типами
- Использование ildasm.exe
- Инсталляция среды выполнения .NET
- Платформенная независимость .NET
- Резюме
- ГЛАВА 2. Технология создания приложений на языке C#
- Установка .NET Framework 2.0 SDK
- Компилятор командной строки для C# (csc.exe)
- Компоновка C#-приложений с помощью csc.exe
- Ссылки на внешний компоновочный блок
- Компиляция множества файлов
- Ссылки на множество внешних компоновочных блоков
- Работа с ответными файлами csc.exe
- Отладчик командной строки (cordbg.exe)
- Компоновка .NET-приложений с помощью TextPad
- Активизация цветовой схемы C#
- Настройка фильтра файлов *.cs
- Подключение csc.exe
- Ассоциация команд с пунктами меню
- Использование фрагментов программного кода C#
- Компоновка .NET-приложений с помощью SharpDevelop
- Возможности SharpDevelop
- Окна проектов и классов
- Обзор компоновочных блоков
- Инструменты проектирования Windows Forms
- Компоновка .NET-приложений с помощью Visual C# 2005 Express
- Компоновка .NET-приложений с помощью Visual Studio 2005
- Возможности Visual Studio 2005
- Утилита обзора решений
- Утилита обзора классов
- Окно определений программного кода
- Утилита обзора объектов
- Интегрированная поддержка факторизации программного кода
- Фрагменты программного кода и окружения
- Средства визуального проектирования классов
- Стенд тестирования объектов (ОТВ-тестер)
- Интегрированная справочная система
- Дополнительные средства разработки .NET-приложений
- Резюме
- ЧАСТЬ II. Язык программирования C#
- ГЛАВА 3. Основы языка C#
- Структура простой программы на C#
- Вариации метода Main()
- Обработка аргументов командной строки
- Использование аргументов командной строки в Visual Studio 2005
- Несколько слов о классе System.Environment
- Определение классов и создание объектов
- Класс System.Console
- Доступность членов
- Значения, назначаемые переменным по умолчанию
- Синтаксис инициализации членов-переменных
- Определение констант
- Определение полей только для чтения
- Ключевое слово static
- Модификаторы параметров методов
- Способ передачи параметров, используемый по умолчанию
- Модификатор out
- Модификатор ref
- Модификатор params
- Итерационные конструкции
- Конструкции выбора решений и операции сравнения
- Типы, характеризуемые значениями, и ссылочные типы
- Типы, характеризуемые значениями, ссылочные типы и оператор присваивания
- Типы, характеризуемые значениями и содержащие ссылочные типы
- Передача ссылочных типов по значению
- Передача ссылочных типов по ссылке
- Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания
- Операции создания объектного образа и восстановления из объектного образа
- Примеры создания объектных образов и восстановления значений
- Восстановление из объектного образа для пользовательских типов
- Работа с перечнями .NET
- Мастер-класс: System.Object
- Переопределение элементов System.Object, заданных по умолчанию
- Переопределение System.Object.ToString()
- Переопределение System.Object. Equals()
- Переопределение System.Object.GetHashCode()
- Тестирование переопределенных членов
- Статические члены System.Object
- Типы данных System (и их обозначения в C#)
- Эксперименты с числовыми типами данных
- Члены System.Boolean
- Члены System.Char
- Анализ значений строковых данных
- System.DateTime и System.TimeSpan
- Тип данных System.String
- Роль System.Text.StringBuilder
- Типы массивов .NET
- Массивы в качестве параметров (и возвращаемых значений)
- Работа с многомерными массивами
- Базовый класс System.Array
- Типы с разрешением принимать значение null
- Пользовательские пространства имен
- Абсолютные имена типов
- Использование псевдонимов
- Вложенные пространства имен
- Пространство имен по умолчанию в Visual Studio 2005
- Резюме
- ГЛАВА 4. Язык C# 2.0 и объектно-ориентированный подход
- Тип класса в C#
- Перегрузка методов
- Использование this для возвратных ссылок в C#
- Передача вызовов конструктора с помощью this
- Определение открытого интерфейса класса
- Принципы объектно-ориентированного программирования
- Первый принцип: сервис инкапсуляции C#
- Инкапсуляция на основе методов чтения и модификации
- Инкапсуляция на основе свойств класса
- Внутреннее представление свойств в C#
- Контекст операторов get и set для свойств
- Свойства, доступные только для чтения, и свойства, доступные только для записи
- Статические свойства
- Второй принцип: поддержка наследования в C#
- Управление созданием базовых классов с помощью base
- Множественные базовые классы
- Хранение семейных тайн: ключевое слово protected
- Запрет наследования: изолированные классы
- Модель локализации/делегирования
- Третий принцип: поддержка полиморфизма в C#
- Ключевые слова virtual и override
- Снова о ключевом слове sealed
- Абстрактные классы
- Принудительный полиморфизм: абстрактные методы
- Возможность скрывать члены
- Правила приведения типов в C#
- Парциальные типы C#
- Документирование исходного кода в C# с помощью XML
- Резюме
- ГЛАВА 5. Цикл существования объектов
- Классы, объекты и ссылки
- Основные сведения о существовании объектов
- Роль корней приложения
- Генерации объектов
- Тип System.GC
- Создание объектов, предусматривающих финализацию
- Создание объектов, предусматривающих освобождение ресурсов
- Создание типов, предусматривающих освобождение ресурсов и финализацию
- Резюме
- ГЛАВА 6. Структурированная обработка исключений
- Ода ошибкам и исключениям
- Роль обработки исключений в .NET
- Простейший пример
- Конфигурация состояния исключений
- Исключения системного уровня (System.SystemException)
- Исключения уровня приложения (System.ApplicationException)
- Создание пользовательских исключений, раз…
- Создание пользовательских исключений, два…
- Создание пользовательских исключений, три!
- Обработка множеств исключений
- Блок finally
- Что и чем генерируется
- Исключения, оставшиеся без обработки
- Отладка необработанных исключений в Visual Studio 2005
- Резюме
- ГЛАВА 7. Интерфейсы и коллекции
- Определение интерфейсов в C#
- Реализация интерфейсов в C#
- Интерфейсы в сравнении с абстрактными базовыми классами
- Вызов членов интерфейса на уровне объекта
- Интерфейсы в качестве параметров
- Интерфейсы в качестве возвращаемых значений
- Массивы интерфейсных типов
- Явная реализация интерфейса
- Построение иерархии интерфейсов
- Реализация интерфейсов в Visual Studio 2005
- Создание перечислимых типов (Enumerable и IEnumerator)
- Создание клонируемых объектов (ICloneable)
- Создание сравнимых объектов (IComparable)
- Сортировка по набору критериев (IComparer)
- Типы, определяющие сортировку, и пользовательские свойства
- Интерфейсы из пространства имен System.Collections
- Классы из пространства имен System.Collections
- Пространство имен System.Collections.Specialized
- Резюме
- ГЛАВА 8. Интерфейсы обратного вызова, делегаты и события
- Интерфейсы обратного вызова
- Тип делегата .NET
- Определение делегата в C#
- Базовые классы System.MulticastDelegate и System.Delegate
- Простейший пример делегата
- Модификация типа Car с учетом делегатов
- Более совершенный пример делегата
- Ковариантность делегатов
- События в C#
- Глубинный механизм событий
- Прием поступающих событий
- Упрощенная регистрация событий в Visual Studio 2005
- "Разборчивые" события
- Анонимные методы в C#
- Групповое преобразование методов в C#
- Резюме
- ГЛАВА 9. Специальные приемы построения типов
- Создание пользовательских индексаторов
- Внутреннее представление индексаторов типов
- Заключительные замечания об индексаторах
- Перегрузка операций
- Перегрузка бинарных операций
- Перегрузка унарных операций
- Перегрузка операций проверки на тождественность
- Перегрузка операций сравнения
- Внутреннее представление перегруженных операций
- Использование перегруженных операций в языках, не поддерживающих перегрузку операций
- Заключительные замечания о перегрузке операций
- Пользовательские преобразования типов
- Создание пользовательских подпрограмм преобразования
- Определение подпрограмм неявного преобразования
- Внутреннее представление пользовательских подпрограмм преобразования
- Ключевые слова C#, предназначенные для более сложных конструкций
- Директивы препроцессора C#
- Резюме
- ГЛАВА 10. Обобщения
- Снова о создании объектных образов, восстановлении значений и System.Object
- Проблемы создания объектных образов и восстановления значений
- Типовая безопасность и строго типизованные коллекции
- Проблемы создания объектных образов и строго типизованные коллекции
- Пространство имен System.Collections.Generic
- Создание обобщенных методов
- Создание обобщенных структур (и классов)
- Создание пользовательских обобщенных коллекций
- Установка ограничений для параметров типа с помощью where
- Отсутствие поддержки ограничений при использовании операций
- Создание обобщенных базовых классов
- Создание обобщенных интерфейсов
- Создание обобщенных делегатов
- Резюме
- ЧАСТЬ III. Программирование компоновочных блоков .NET
- ГЛАВА 11. Компоновочные блоки .NET
- Роль компоновочных блоков .NET
- Расширенные возможности многократного использования программного кода
- Установка четких границ типов
- Управление версиями
- Самоописание
- Средства конфигурации
- Формат компоновочного блока .NET
- Заголовок Win32
- Заголовок CLR
- Программный код CIL, метаданные типа и манифест компоновочного блока
- Необязательные ресурсы компоновочного блока
- Одномодульные и многомодульные компоновочные блоки
- Создание и использование одномодульных компоновочных блоков
- Анализ манифеста
- Анализ CIL-кода
- Анализ метаданных типов
- Создание приложения-клиента в C#
- Создание приложения-клиента в Visual Basic .NET
- Межъязыковое перекрестное наследование
- Создание и использование многомодульных компоновочных блоков
- Анализ файла ufo.netmodule
- Анализ файла airvehicles.dll
- Использование многомодульного компоновочного блока
- Приватные компоновочные блоки
- Идентификация приватных компоновочных блоков
- Процесс зондирования
- Конфигурация приватных компоновочных блоков
- Файлы конфигурации и Visual Studio 2005
- Утилита конфигурации NET Framework 2.0
- Общедоступные компоновочные блоки
- Строгая форма имени
- Создание строгого имени для CarLibrary.dll
- Назначение строгого имени в Visual Studio 2005
- Установка и удаление общедоступных компоновочных блоков
- Отложенная подпись
- Использование общедоступных компоновочных блоков
- Конфигурация общедоступных компоновочных блоков
- Фиксация версии общедоступного компоновочного блока
- Создание общедоступного компоновочного блока версии 2.0.0.0
- Динамическая привязка к конкретной версии компоновочного блока
- Снова об утилите конфигурации .NET Framework 2.0
- Анализ внутренней структуры GAC
- Файлы политики публикации компоновочных блоков
- Элемент ‹codeBase›
- Пространство имен System.Configuration
- Файл конфигурации машины
- Общая схема связей компоновочных блоков
- Резюме
- ГЛАВА 12. Отображение типов, динамическое связывание и программирование с помощью атрибутов
- Метаданные типов
- Анализ метаданных перечня EngineState
- Анализ метаданных типа Car
- Анализ TypeRef
- Представление метаданных компоновочного блока
- Представление ссылок на другие компоновочные блоки
- Представление строковых литералов
- Отображение типов в .NET
- Класс System.Type
- Получение Туре с помощью System.Object.GetType()
- Получение Туре с помощью System.Type.GetType()
- Получение Туре с помощью typeof()
- Создание пользовательского приложения для просмотра метаданных
- Отображение методов
- Отображение полей и свойств
- Отображение реализованных интерфейсов
- Отображение вспомогательной информации
- Реализация Main()
- Отображение параметров и возвращаемых значений методов
- Динамически загружаемые компоновочные блоки
- Отображение общедоступных компоновочных блоков
- Динамическое связывание
- Программирование с помощью атрибутов
- Потребители атрибутов
- Применение встроенных атрибутов C#
- Параметры конструктора для атрибутов
- Атрибут Obsolete в действии
- Сокращенное представление атрибутов в C#
- Создание пользовательских атрибутов
- Атрибуты уровня компоновочного блока (и уровня модуля)
- Отображение атрибутов при статическом связывании
- Отображение атрибутов при динамическом связывании
- Перспективы отображения, статического и динамического связывания и пользовательских атрибутов
- Создание расширяемого приложения
- Создание CommonSnappableTypes.dll
- Создание подключаемого компонента в C#
- Создание подключаемого компонента в Visual Basic .NET
- Создание расширяемого приложения Windows Forms
- Резюме
- ГЛАВА 13. Процессы, домены приложений, контексты и хосты CLR
- Выполнение традиционных процессов Win32
- Взаимодействие с процессами в рамках платформы .NET
- Список выполняемых процессов
- Чтение данных конкретного процесса
- Список множества потоков процесса
- Информация о наборе модулей процесса
- Начало и остановка процессов с помощью программных средств
- Домены приложений .NET
- Список доменов приложения процесса
- Программное создание новых доменов приложения
- Программная выгрузка доменов приложения
- Границы контекста объекта
- Контекстно-независимые и контекстно-связанные типы
- Определение контекстно-связанных объектов
- Проверка контекста объекта
- Еще несколько слов о процессах, доменах приложения и контекстах
- Хостинг общеязыковой среды выполнения
- Резюме
- ГЛАВА 14. Создание многопоточных приложений
- Взаимосвязь процессов, доменов приложений, контекстов и потоков
- Краткий обзор делегатов .NET
- Асинхронная природа делегатов
- Асинхронный вызов методов
- Синхронизация вызывающего потока
- Роль делегата AsyncCallback
- Роль класса AsyncResult
- Передача и получение пользовательских данных состояния
- Пространство имен System.Threading
- Класс System.Threading.Thread
- Программное создание вторичных потоков
- Работа с делегатом ThreadStart
- Работа с делегатом ParameterizedThreadStart
- Приоритетные и фоновые потоки
- Проблема конкурентного доступа
- Синхронизация с помощью ключевого слова lock в C#
- Синхронизация с помощью типа System.Threading.Monitor
- Синхронизация с помощью типа System.Threading.Interlocked
- Синхронизация с помощью атрибута [Synchronization]
- Программирование с помощью таймеров обратного вызова
- Пул потоков CLR
- Резюме
- ГЛАВА 15. CIL и роль динамических компоновочных блоков
- Природа программирования в терминах CIL
- Директивы, атрибуты и коды операций CIL
- Роль директив CIL
- Роль атрибутов CIL
- Роль кодов операций CIL
- Различия между мнемоникой и кодом операции CIL
- Добавление и извлечение данных: стековая природа CIL
- Челночная технология разработки
- Роль меток в программном коде CIL
- Взаимодействие с CIL: модификация файла *.il
- Компиляция CIL-кода с помощью ilasm.exe
- Компиляция CIL-кода с помощью SharpDevelop
- Компиляция CIL-кода с помощью ILIDE#
- Роль peverify.exe
- Директивы и атрибуты CIL
- Ссылки на внешние компоновочные блоки
- Определение текущего компоновочного блока
- Определение пространств имен
- Определение типов класса
- Определение и реализация интерфейсов
- Определение перечней
- Компиляция файла CILTypes.il
- Соответствие между типами библиотеки базовых классов .NET, C# и CIL
- Определение членов типов в CIL
- Определение полей данных
- Определение конструкторов типов
- Определение свойств
- Определение параметров членов
- Анализ кодов операций CIL
- Директива .maxstack
- Объявление локальных переменных
- Связывание параметров с локальными переменными
- Скрытая ссылка this
- Представление итерационных конструкций
- Создание компоновочного блока .NET в CIL
- Динамические компоновочные блоки
- Исследование пространства имен System.Reflection.Emit
- Роль System.Reflection.Emit.ILGenerator
- Генерирование динамического компоновочного блока
- Генерирование компоновочного блока и набора модулей
- Роль типа ModuleBuilder
- Генерирование типа HelloClass и принадлежащей ему строковой переменной
- Генерирование конструкторов
- Генерирование метода HelloWorld()
- Использование динамически сгенерированного компоновочного блока
- Несколько слов о System.CodeDOM
- Резюме
- ЧАСТЬ IV. Программирование с помощью библиотек .NET
- ГЛАВА 16. Пространство имен System.IO
- Анализ пространства имен System.IO
- Типы Directory(Info) и File(Info)
- Работа с типом DirectoryInfo
- Перечень FileAttributes
- Перечисление файлов с помощью DirectoryInfo
- Создание подкаталогов с помощью DirectoryInfo
- Работа с типом Directory
- Работа с типом класса DriveInfo
- Работа с классом FileInfo
- Метод FileInfо.Create()
- Метод FileInfo.Open()
- Методы FileInfo.OpenRead() и FileInfo.OpenWrite()
- Метод FileInfo.OpenText()
- Методы FileInfo.CreateText() и FileInfo.AppendText()
- Работа с типом File
- Абстрактный класс Stream
- Работа с StreamWriter и StreamReader
- Запись в текстовый файл
- Чтение из текстового файла
- Непосредственное создание типов StreamWriter/StreamReader
- Работа с типами StringWriter и StringReader
- Работа с BinaryWriter и BinaryReader
- Программный мониторинг файлов
- Асинхронный файловый ввод-вывод
- Резюме
- ГЛАВА 17. Сериализация объектов
- Основы сериализации объектов
- Конфигурирование объектов для сериализации
- Выбор формата сериализации
- Сериализация объектов с помощью BinaryFormatter
- Сериализация объектов с помощью SoapFormatter
- Сериализация объектов с помощью XmlSerializer
- Сохранение коллекций объектов
- Настройка процесса сериализации
- Более глубокий взгляд на сериализацию объектов
- Настройка параметров сериализации с помощью ISerializable
- Настройка параметров сериализации с помощью атрибутов
- Поддержка версий сериализации объектов
- Резюме
- ГЛАВА 18. Удаленное взаимодействие .NET
- Понятие удаленного взаимодействия .NET
- Пространства имен удаленного взаимодействия .NET
- Каркас удаленного взаимодействия .NET
- Агенты и сообщения
- Каналы
- Снова о роли форматтера .NET
- Общая картина
- Несколько слов о расширении стандартных возможностей
- Термины удаленного взаимодействия .NET
- Варианты маршалинга для объектов: MBR и MBV
- Варианты активизации для MBR-типа: WKO и CAO
- Варианты конфигурации WKO-типа: синглеты и объекты одиночного вызова
- Сводная характеристика MBR-объектов
- Инсталляция приложения, использующего удаленное взаимодействие
- Создание распределенного приложения
- Создание общего компоновочного блока
- Создание компоновочного блока сервера
- Создание компоновочного блока клиента
- Тестирование приложения, использующего удаленное взаимодействие
- Тип ChannelServices
- Тип RemotingConfiguration
- Снова о режиме активизации WKO-типов
- Установка сервера на удаленной машине
- Использование ТСР-каналов
- Несколько слов о IpcChannel
- Файлы конфигурации удаленного взаимодействия
- Работа с MBV-объектами
- Создание общего компоновочного блока
- Создание компоновочного блока сервера
- Создание компоновочного блока клиента
- Объекты, активизируемые клиентом
- Схема лизингового управления циклом существования САО-типов и WKO-синглетов
- Схема лизингового управления, используемая по умолчанию
- Изменение параметров схемы лизингового управления
- Настройка параметров лизинга на стороне сервера
- Настройка параметров лизинга на стороне клиента
- Спонсоры лизинга сервера (и клиента)
- Альтернативные хосты для удаленных объектов
- Асинхронное удаленное взаимодействие
- Резюме
- ГЛАВА 19. Создание окон с помощью System.Windows.Forms
- Обзор пространства имен System.Windows.Forms
- Работа с типами Windows Forms
- Роль класса Application
- "Анатомия" формы
- Функциональные возможности класса Control
- Использование возможностей класса Control
- Ответ на события MouseMove
- Регистрация щелчков кнопок мыши
- Ответ на события клавиатуры
- Функциональные возможности класса Form
- Создание Windows-приложений в Visual Studio 2005
- Получение доступа к устаревшим элементам управления
- Анализ проекта Windows Forms в Visual Studio 2005
- Обработка событий в режиме проектирования
- Класс Program
- Необходимые компоновочные блоки
- Работа с MenuStrip и ContextMenuStrip
- Работа с StatusStrip
- Создание системы меню
- Настройка StatusStrip
- Работа с типом Timer
- Включение отображения
- Вывод подсказок для выбранных элементов меню
- Состояние готовности
- Работа с ToolStrip
- Создание MDI-приложения
- Резюме
- ГЛАВА 20. Визуализация графических данных средствами GDI+
- Обзор пространств имен GDI+
- Обзор пространства имен System.Drawing
- Утилитарные типы System.Drawing
- Класс Graphics
- Сеансы Paint
- Обновление области клиента формы
- Доступ к объекту Graphics вне обработчика Paint
- Освобождение объекта Graphics
- Системы координат GDI+
- Единица измерения, предлагаемая по умолчанию
- Выбор альтернативной единицы измерения
- Изменение начала координат
- Определение цветовых значений
- Манипулирование шрифтами
- Работа с семействами шрифтов
- Работа с гарнитурами и размерами шрифтов
- Список установленных шрифтов
- Класс FontDialog
- Обзор пространства имен System.Drawing.Drawing2D
- Работа с типами Pen
- Работа с типами Brush
- Визуализация изображений
- Попадание в заданную область и операции перетаскивания для PictureBox
- Формат ресурсов .NET
- Пространство имен System.Resources
- Создание файла *.resx программными средствами
- Создание файла *.resources
- Добавление файла *.resources в компоновочный блок .NET
- Работа с ResourceWriter
- Генерирование ресурсов в Visual Studio 2005
- Чтение ресурсов программными средствами
- Резюме
- ГЛАВА 21. Использование элементов управления Windows Forms
- Элементы управления Windows Forms
- Добавление элементов управления в форму вручную
- Добавление элементов управления в форму в Visual Studio 2005
- Работа с базовыми элементами управления
- Элемент Label
- Элемент TextBox
- Элемент MaskedTextBox
- Элемент Button
- Элементы CheckBox, RadioButton и Group Box
- Элемент CheckedListBox
- Элемент Listbox
- Элемент ComboBox
- Порядок переходов по нажатию клавиши табуляции
- Работа с другими элементами управления
- Элемент MonthCalendar
- Элемент ToolTip
- Элемент TabControl
- Элемент TrackBar
- Элемент Panel
- Элементы UpDown
- Элемент ErrorProvider
- Элемент TreeView
- Элемент WebBrowser
- Создание пользовательских элементов управления Windows Forms
- Создание изображений
- Создание пользовательского интерфейса режима проектирования
- Реализация CarControl
- Определение пользовательских событий
- Определение пользовательских свойств
- Контроль анимации
- Отображение названия
- Тестирование типа CarControl
- Создание пользовательской формы для CarControl
- Пространство имен System.ComponentModel
- Совершенствование режима проектирования CarControl
- Определение выбираемых по умолчанию свойств и событий
- Выбор изображений для панели инструментов
- Создание пользовательских диалоговых окон
- Динамическое позиционирование элементов управления Windows Forms
- Резюме
- ГЛАВА 22. Доступ к базам данных с помощью ADO.NET
- Высокоуровневое определение ADO.NET
- Поставщики данных ADO.NET
- Дополнительные пространства имен ADO.NET
- Типы System.Data
- Интерфейс IDbConnection
- Интерфейс IDbTransaction
- Интерфейс IDbCommand
- Интерфейсы IDbDataParameter и IDataParameter
- Интерфейсы IDbDataAdapter и IDataAdapter
- Интерфейсы IDataReader и IDataRecord
- Интерфейсы и абстрактные поставщики данных
- Файлы конфигурации и гибкость приложений
- Модель источника поставщика данных .NET 2.0
- Элемент ‹connectionStrings›
- Установка базы данных Cars
- Связный уровень ADO.NET
- Работа с объектами чтения данных
- Изменение содержимого таблиц с помощью объектов команд
- Работа с объектами параметризованных команд
- Выполнение хранимых процедур с помощью DbCommand
- Асинхронный доступ к данным в .NET 2.0
- Несвязный уровень ADO.NET
- Роль DataSet
- Работа с DataColumn
- Работа с DataRow
- Работа с DataTable
- Сохранение DataSet (и DataTable) в формате XML
- Привязка DataTable к интерфейсу пользователя
- Работа с типом DataView
- Работа с адаптерами данных
- Обновление базы данных с помощью объекта адаптера данных
- Генерирование SQL-команд с помощью типов построителя команд
- Объекты DataSet с множеством таблиц и объекты DataRelation
- Возможности мастеров данных
- Резюме
- ЧАСТЬ V. Web-приложения и Web-сервисы XML
- ГЛАВА 23. Web-страницы и Web-элементы управления ASP.NET 2.0
- Роль HTTP
- Web-приложения и Web-серверы
- Роль HTML
- Роль сценариев клиента
- Подача запроса формы (GET и POST)
- Создание "классической" ASP-страницы
- Проблемы классической технологии ASP
- Пространства имен ASP.NET 2.0
- Модель программного кода Web-страницы ASP.NET
- Структура каталогов Web-узла ASP.NET
- Цикл компиляции страницы ASP.NET 2.0
- Цепочка наследования типа Page
- Взаимодействие с поступающим HTTP-запросом
- Взаимодействие с исходящим HTTP-ответом
- Цикл существования Web-страницы ASP.NET
- Природа Web-элементов управления
- Тип System.Web.UI.Control
- Основные члены типа System.Web.Ul.WebControls.WebControl
- Категории Web-элементов управления ASP.NET
- Создание простого Web-узла ASP.NET 2.0
- Работа с шаблоном страниц
- Определение страницы Default.aspx
- Создание страницы Inventory
- Создание страницы BuildCar
- Роль элементов управления, связанных с контролем ввода
- Элемент RequiredFieldValidator
- Элемент RangeValidator
- Элемент CompareValidator
- Создание отчетов по проверкам
- Резюме
- ГЛАВА 24. Web-приложения ASP.NET 2.0
- Проблема состояния
- Технологии управления состоянием ASP.NET
- Роль состояния представлений ASP.NET
- Демонстрация использования состояния представлений
- Добавление пользовательских данных состояния представлений
- Несколько слов о данных состояния элементов
- Роль файла Global.asax
- Различия между приложением и сеансом
- Поддержка данных состояния приложения
- Изменение данных состояния приложения
- Обработка завершения работы Web-приложения
- Кэш приложения
- Обработка сеансовых данных
- Данные cookie
- Настройка Web-приложения ASP.NET с помощью Web.config
- Разрешение трассировки с помощью ‹trace›
- Настройка вывода сообщений об ошибках с помощью ‹customErrors›
- Сохранение данных состояния с помощью ‹sessionState›
- Утилита администрирования узла ASP.NET 2.0
- Наследование конфигурации
- Резюме
- ГЛАВА 25. Web-сервисы XML
- Роль Web-сервисов XML
- Преимущества Web-сервисов XML
- Определение клиента Web-сервиса XML
- Компоненты Web-сервиса XML
- Служба поиска Web-сервиса XML
- Служба описания Web-сервиса XML
- Транспортный протокол
- Пространства имен .NET для Web-сервисов XML
- Создание Web-сервиса XML вручную
- Тестирование Web-сервиса XML с помощью WebDev.WebServer.exe
- Тестирование Web-сервиса XML с помощью IIS
- Просмотр WSDL-документа
- Автоматически генерируемая страница тестирования
- Создание Web-сервиса XML в Visual Studio 2005
- Роль базового класса WebService
- Атрибут [WebService]
- Атрибут [WebServiceBinding]
- Атрибут [WebMethod]
- Описание Web-метода с помощью свойства Description
- Устранение конфликтов имен WSDL с помощью свойства MessageName
- Поддержка данных состояния Web-сервисов с помощью свойства EnableSession
- Язык описания Web-сервисов (WSDL)
- Определение WSDL-документа
- Элемент ‹types›
- Элемент ‹message›
- Элемент ‹portType›
- Элемент ‹binding›
- Элемент ‹service›
- Снова о протоколах связи Web-сервисов XML
- Утилита командной строки wsdl.exe
- Преобразование WSDL-кода в серверный программный код Web-сервиса
- Преобразование WSDL-кода в программный код агента для клиента
- Программный код агента
- Конструктор, заданный по умолчанию
- Поддержка синхронного вызова
- Поддержка асинхронного вызова
- Создание приложения клиента
- Генерирование программного кода агента в Visual Studio 2005
- Доступ к пользовательским типам Web-методов
- Доступ к массивам
- Доступ к структурам
- Доступ к типам DataSet ADO.NET
- Клиент Windows Forms
- Представление типов на стороне клиента
- Стандарт поиска и взаимодействия (протокол UDDI)
- Резюме
- Сноски из книги
- Содержание книги
- Популярные страницы
Оглавление статьи/книги
Похожие страницы
- Флаги форматирования строк .NET
- Дополнительные средства разработки .NET-приложений
- Дополнительные средства командной строки .NET
- Автоматически генерируемый компонент данных
- Атомы обработки исключений в .NET
- ГЛАВА 24. Web-приложения ASP.NET 2.0
- Компоновка .NET-приложений с помощью SharpDevelop
- Две грани ADO.NET
- Различия между приложением и сеансом
- Настройка Web-приложения ASP.NET с помощью Web.config
- Установка .NET Framework 2.0 SDK
- ГЛАВА 2. Технология создания приложений на языке C#