Являетесь ли вы новичком в среде Windows Communication Foundation (WCF), или уже немного работали с ней, существуют некоторые методики и принципы тестирования, которые облегчат вашу работу с WCF. Существует несколько способов осмысления WCF — я склоняюсь к тому, что службы WCF являются имеющим большое значение расширением веб-служб. Подобно веб-службам, службы WCF позволяют создавать распределенные системы с помощью ориентированной на службы архитектуры. Однако службы WCF предоставляют гораздо большую гибкость (например, выбор транспортного протокола) и дополнительный набор компонентов (например, операции и безопасность). WCF — это гораздо больше, чем просто расширение веб-служб, но если вы мало знакомы с WCF, изначально имеет смысл рассматривать их именно как такое расширение.
В Visual Studio 2008 и .NET Framework 3.5 появились новые средства и возможности поддержки, расширяющие функциональность среды Windows Communication Foundation (WCF). Базовые возможности WCF 1.0 (выпущенной вместе с .NET Framework 3.0) не подверглись изменениям — они были расширены и дополнены.
В момент первоначального выпуска служб Windows Communication Foundation (WCF) в составе Microsoft® .NET Framework 3.0 в эти службы входила универсальная объектная модель для обмена сообщениями в формате POX (Plain Old XML) и SOAP с использованием широкого набора средств передачи данных. Поскольку в WCF включена также основательная поддержка стандартов веб-служб WS-*, она может взаимодействовать с другими современными платформами служб с относительно небольшими сложностями. WCF в среде .NET Framework 3.0 является в высшей степени расширяемой и включает в себя надежные функции управляемости, такие как ведение журналов сообщений, отслеживание операций, управление в реальном времени и элементы управления цепочками обсуждений.
Представленное в Microsoft .NET Framework 1.0 разграничение доступа из кода (CAS) является, вероятно, единственной возможностью, отличающей .NET от неуправляемого кода. CAS встроено в самую основу .NET Framework, влияя на каждую операцию в управляемом коде, что просто недостижимо для неуправляемого кода.
Размещение и использование службы Windows Communication Foundation (WCF) обычно требует нескольких фундаментальных действий: реализации службы, настройки конечных точек там, где со службой можно соприкоснуться, размещения службы, создания файла языка описания веб-служб (WSDL) или включения обмена метаданными, позволяющего клиентам создать прокси для вызова службы, написания кода для создания экземпляра прокси с соответствующей настройкой и начала вызова операций службы. Необходимость копаться во внутренних механизмах всего этого возникает редко, но даже в простейших случаях каналы как клиента, так и служб полагаются на совместимость настройки для обработки семантики адресации и фильтрации сообщений с целью обеспечить вызов нужной операции.