Основы Windows Communication Foundation для .NET Framework 3.5
Стив Резник, Ричард Крейн, Крис Боуэн
Технология Windows Communication Foundation (WCF) - самый простой способ создания и потребления веб-служб на платформе Microsoft. В версии .NET 3.5 WCF была существенно переработана, а в Visual Studio 2008 включены мощные инструменты для работы с ней. Из этой книги вы узнаете, как выжать максимум возможного из WCF с помощью .NET 3.5 и Visual Studio 2008.
Основываясь на обширном опыте работы с пользователями, раньше других приступившими к изучению WCF, три сотрудника Microsoft систематически рассматривают темы, вызывающие наибольшее количество вопросов у разработчиков. Авторы дают практические рекомендации, рассказывают о проверенных приемах, дают множество полезных советов по решению конкретных задач. В книге вы найдете подробные объяснения, подходы к «болевым точкам», свойственным разработке с помощью WCF, и богатый набор примеров повторно используемого кода.
Издательство: ДМК Пресс, 2011 г.
ISBN 978-5-94074-731-4
Количество страниц: 480.
Содержание книги «Основы Windows Communication Foundation для .NET Framework 3.5»:
- 14 Предисловие
- 16 Вступление
- 17 Для кого написана эта книга?
- 17 Требования к программной среде
- 18 Организация материала
- 21 Благодарности
- 22 Об авторах
- 23 Глава 1. Основные понятия
- 23 Почему именно WCF?
- 24 Введение
- 27 Реализация WCF-службы
- 27 Всего лишь АПК
- 28 Полностью программная реализация службы
- 30 Реализация службы с помощью кода и конфигурационных файлов
- 32 Еще о конфигурационных файлах
- 33 Еще о размещении служб
- 34 Включение оконечной точки обмена метаданными (MEX)
- 37 Реализация клиента WCFFслужбы
- 37 Реализация клиента целиком в коде
- 38 Реализация клиента с помощью кода и конфигурационного файла
- 41 Размещение службы в IIS
- 41 Обсуждение
- 44 Реализация WCF-клиента для ASMX-службы
- 45 Инструментальная поддержка
- 45 Генерация прокси-класса и конфигурационного файла для клиента
- 49 Резюме
- 50 Глава 2. Контракты
- 53 Синхронные операции запрос-ответ
- 56 Асинхронные операции запрос-ответ
- 59 Односторонние операции
- 60 Дуплексные операции
- 61 Сравнение парного одностороннего и дуплексного обмена
- 62 Реализация серверной части дуплексного контракта о службе
- 66 Реализация клиентской части дуплексного контракта
- 67 Службы с несколькими контрактами и оконечными точками
- 70 Имена операций, типов, действий и пространств имен в WSDL
- 72 Контракты о данных
- 74 Определение XSD-схемы для класса .NET
- 76 Определение иерархий классов
- 78 Включение дополнительных типов в WSDL с помощью атрибута KnownType
- 82 Контроль версий контрактов о данных
- 84 Эквивалентность контрактов о данных
- 85 Работа с наборами
- 86 Контракты о сообщениях
- 88 Типизированные сообщения
- 91 Нетипизированные сообщения
- 93 Использование заголовков SOAP в сочетании с нетипизированными сообщениями
- 95 Резюме
- 95 Контракты о службе
- 96 Контракты о данных
- 96 Контракты о сообщениях
- 97 Глава 3. Каналы
- 99 Канальные формы
- 99 Односторонняя коммуникация
- 100 Дуплексная коммуникация
- 101 Коммуникация запрос-ответ
- 103 Изменение формы
- 103 Контракт об операциях и канальные формы
- 104 Прослушиватели каналов
- 106 Фабрики каналов
- 107 Класс ChannelFactory<>
- 108 Интерфейс ICommunicationObject
- 111 Резюме
- 99 Канальные формы
- 112 Глава 4. Привязки
- 116 Выбор подходящей привязки
- 116 Пример приложения
- 121 Коммуникация между .NET-приложениями на разных машинах
- 122 Привязка netTcpBinding
- 124 Коммуникация между .NET-приложениями на одной машине
- 125 Привязка netNamedPipeBinding
- 128 Коммуникация с использованием Web-служб
- 128 Привязка basicHttpBinding
- 131 Коммуникации с помощью продвинутых Web-служб
- 132 Привязка wsHttpBinding
- 134 Привязка ws2007HttpBinding
- 137 Привязка wsDualHttpBinding
- 144 Сравнение производительности и масштабируемости привязок
- 146 Коммуникация со службами на базе очередей
- 147 Привязка netMsmqBinding
- 155 Привязка msmqIntegrationBinding
- 158 Создание заказной привязки
- 160 Привязки, определяемые пользователем
- 160 Элементы привязки
- 162 Безопасность
- 164 Раскрытие контракта о службе с помощью нескольких привязок
- 166 Резюме
- 116 Выбор подходящей привязки
- 167 Глава 5. Поведения
- 169 Параллелизм и создание экземпляров (поведение службы)
- 171 Параллелизм и создание экземпляров по умолчанию для безсеансовых привязок
- 173 Многопоточность в одном экземпляре
- 174 Реализация синглета
- 176 Сеансовые экземпляры
- 178 Управление количеством одновременно работающих экземпляров
- 182 Управление количеством одновременных вызовов
- 184 Управление количеством одновременных сеансов
- 186 Экспорт и публикация метаданных (поведение службы)
- 188 Реализация транзакций (поведение операции)
- 195 Поток транзакций, пересекающий границы операций
- 201 Выбор транзакционного протокола – OleTx или WSSAT
- 202 Поведения транзакционных служб
- 203 Реализация заказных поведений
- 205 Реализация инспектора сообщений для поведения оконечной точки
- 208 Раскрытие инспектора параметров для поведения операции службы в виде атрибута
- 210 Задание поведения службы в конфигурационном файле
- 213 Поведения, касающиеся безопасности
- 214 Резюме
- 169 Параллелизм и создание экземпляров (поведение службы)
- 216 Глава 6. Сериализация и кодирование
- 216 Сравнение сериализации и кодирования
- 217 Сравнение вариантов сериализации, имеющихся в WCF
- 218 Класс DataContractSerializer
- 221 Класс NetDataContractSerializer
- 222 Класс XmlSerializer
- 225 Класс DataContractJsonSerializer
- 226 Выбор сериализатора
- 227 Сохранение ссылок и циклических ссылок
- 232 Обобществление типов с помощью класса NetDataContractSerializer
- 235 Обратимая сериализация с применением интерфейса IExtensibleDataObject
- 240 Сериализация типов с помощью суррогатов
- 244 Потоковая отправка объемных данных
- 246 Использование класса XmlSerializer для нестандартной сериализации
- 247 Нестандартная сериализация с применением атрибутов
- 247 Нестандартная сериализация с применением интерфейса IXmlSerializable
- 249 Выбор кодировщика
- 250 Текстовое и двоичное кодирование
- 251 Отправка двоичных данных в кодировке MTOM
- 252 Знакомство с кодировщиком WebMessageEncoder
- 253 Резюме
- 254 Глава 7. Размещение
- 255 Размещение службы в Windows Process Activation Services
- 258 Размещение службы в IIS 7
- 260 Включение функций ASMX в службе, размещенной в IIS
- 265 Авторазмещение
- 266 Авторазмещение внутри управляемой службы Windows
- 268 Размещение нескольких служб в одном процессе
- 272 Определение адресов службы и оконечных точек
- 274 Резюме
- 276 Глава 8. Безопасность
- 276 Концепции безопасности в WCF
- 276 Аутентификация
- 277 Авторизация
- 277 Конфиденциальность
- 277 Целостность
- 277 Безопасность на уровне транспорта и сообщений
- 279 Шифрование на базе сертификатов
- 279 Основные идеи
- 280 Подготовка
- 281 Безопасность на транспортном уровне
- 282 Шифрование по SSL
- 290 Идентификация службы
- 292 Безопасность на уровне сообщений
- 292 Аутентификация для привязки wsHttpBinding
- 297 Обеспечение безопасности служб с помощью интегрированных в Windows средств
- 297 Описание демонстрационной среды
- 299 Аутентификация пользователей средствами Windows
- 302 Авторизация пользователей средствами Windows
- 304 Авторизация с использованием AzMan
- 308 Олицетворение пользователей
- 311 Обеспечение безопасности служб, работающих через Интернет
- 313 Интеграция с ASP.NET
- 314 Аутентификация с помощью поставщика информации о членстве
- 317 Авторизация по роли с использованием поставщика информации о ролях
- 319 Аутентификация с помощью форм
- 323 Протоколирование и аудит
- 324 Резюме
- 276 Концепции безопасности в WCF
- 326 Глава 9. Диагностика
- 326 Демонстрационное WCF-приложение
- 327 Трассировка
- 327 Сквозная трассировка
- 328 Деятельности и корреляция
- 328 Включение трассировки
- 330 Рекомендации по выбору уровня детализации
- 330 Протоколирование сообщений
- 331 Включение протоколирования сообщений
- 332 Дополнительные конфигурационные параметры
- 332 Обобществление прослушивателей
- 333 Фильтры сообщений
- 334 Автоматический сброс источника трассировки
- 334 Счетчики производительности
- 335 Windows Management Instrumentation (WMI)
- 336 Редактор конфигурации служб
- 337 Параметры трассировки
- 337 Параметры протоколирования
- 337 Конфигурирование источников
- 339 Конфигурирование прослушивателей
- 340 Инструмент просмотра трассы службы
- 341 Режим просмотра деятельностей
- 342 Режим просмотра проекта
- 343 Режим просмотра сообщений
- 343 Режим просмотра графа
- 345 Анализ протоколов из различных источников
- 347 Фильтрация результатов
- 349 Резюме
- 326 Демонстрационное WCF-приложение
- 350 Глава 10. Обработка исключений
- 350 Введение в обработку исключений в WCF
- 351 Передача исключений по протоколу SOAP
- 351 Пример необработанного исключения
- 354 Обнаружение и восстановление отказавшего канала
- 355 Передача информации об исключении
- 356 Управление исключениями в службе с помощью класса FaultException
- 357 Использование FaultCode и FaultReason для расширения FaultException
- 359 Ограничения класса FaultException
- 360 Создание и обработка строго типизированных отказов
- 360 Объявление отказов с помощью класса FaultContract
- 361 Определение контракта об отказе
- 362 Возбуждение исключения FaultException<>, параметризованного контрактом об отказе
- 363 Реализация обработчиков отказов на стороне клиента
- 364 Прикладной блок обработки ошибок
- 365 Экранирование исключений
- 365 Резюме
- 367 Глава 11. Потоки работ
- 368 Точки интеграции
- 370 Использование операции Send
- 373 Написание заказной операции WF
- 375 Раскрытие службы из WF
- 376 Определение интерфейса
- 378 Операция Receive
- 381 Задание конфигурации в файле app.config
- 382 Размещение потока работ, наделенного возможностями службы
- 383 Авторазмещение потока работ, наделенного возможностями службы
- 385 Размещение потока работа, наделенного возможностями службы, в IIS
- 385 Корреляция и долговечность
- 386 Протяженный поток работ
- 391 Обработка контекста
- 393 Сохранение состояния потока работ на сервере
- 394 Управление доступом к потокам работ, наделенным возможностями службы
- 395 Декларативный контроль доступа
- 395 Программный контроль доступа
- 397 Резюме
- 368 Точки интеграции
- 399 Глава 12. Пиринговые сети
- 399 Подходы к построению распределенных приложений
- 399 Клиент-серверные приложения
- 400 N-ярусные приложения
- 400 Пиринговые приложения
- 400 Сравнение подходов к построению распределенных приложений
- 401 Пиринговые приложения
- 401 Ячеистые сети
- 402 Разрешение имен в ячеистой сети
- 403 Массовое и направленное вещание
- 403 Создание пиринговых приложений
- 404 Привязка netPeerTcpBinding
- 405 Обнаружение участников с помощью протокола PNRP
- 406 Процедура начальной загрузки PNRP
- 407 Имена компьютеров в Windows Internet
- 408 Класс PnrpPeerResolver
- 408 Аутентификация в ячеистой сети
- 408 Регистрация имен по протоколу PNRP
- 409 Пространство имен System.Net.Peer
- 410 Реализация нестандартного распознавателя
- 414 Ограничение количества передач сообщения
- 416 Технология People Near Me
- 416 Технология Windows Contacts
- 416 Приглашения
- 418 Пространство имен System.Net.PeerToPeer.Collaboration
- 424 Организация направленного вещания с помощью заказной привязки
- 432 Резюме
- 399 Подходы к построению распределенных приложений
- 433 Глава 13. Средства программирования Web
- 434 Все, что вы хотели знать о URI
- 435 Вездесущий GET
- 435 Формат имеет значение
- 436 Программирование для Web с помощью WCF
- 436 Классы Uri и UriTemplate
- 437 Построение URI
- 438 Разбор URI
- 439 Создание операций для Web
- 439 Размещение с привязкой webHttpBinding
- 441 Атрибуты WebGet и WebInvoke
- 441 Атрибут WebGet
- 441 Атрибут WebInvoke
- 442 Программирование для Web с использованием AJAX и JSON
- 443 Интеграция с ASP.NET AJAX
- 449 Класс WebOperationContext
- 454 Размещение в Web
- 455 Класс WebScriptServiceHost
- 455 Класс WebScriptServiceHostFactory
- 455 Синдицирование контента с помощью RSS и ATOM
- 458 Резюме
- 434 Все, что вы хотели знать о URI
- 460 Приложение. Дополнительные вопросы
- 460 Публикация метаданных с помощью оконечных точек
- 460 Привязка mexHttpBinding
- 461 Привязка mexNamedPipeBinding
- 461 Привязка mexTcpBinding
- 461 Привязка mexHttpsBinding
- 461 Создание клиентов на основе метаданных
- 463 Создание Silverlight-клиентов на основе метаданных
- 464 Обобществление портов несколькими службами
- 465 Конфигурирование квот для службы
- 466 Конфигурирование http-соединений
- 467 Рециркуляция простаивающих соединений
- 467 Изменение времени жизни соединения
- 468 Отключение механизма HTTP KeeppAlive
- 469 Увеличение количества соединений
- 470 Конфигурирование TCP-соединений
- 470 Рециркуляция простаивающих соединений
- 470 Изменение времени жизни соединения
- 470 Увеличение количества соединений
- 470 LINQ и WCF
- 471 Представление реляционных данных с помощью LINQ-to-SQL
- 460 Публикация метаданных с помощью оконечных точек
- 473 Алфавитный указатель
Инструкция как скачать книгу Стив Резник, Ричард Крейн, Крис Боуэн: Основы Windows Communication Foundation для .NET Framework 3.5 в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.