Book Image

WCF 4.0 Multi-tier Services Development with LINQ to Entities

By : Mike Liu
Book Image

WCF 4.0 Multi-tier Services Development with LINQ to Entities

By: Mike Liu

Overview of this book

WCF is the Microsoft model for building services, whereas LINQ to Entities is the Microsoft ORM for accessing underlying data storage. Want to learn both? You would normally have to dig through huge reference tomes—so wouldn't you agree that a simple-to-follow practical tutorial on WCF and LINQ to Entities is the way to get ahead?This book is the quickest and easiest way to learn WCF and LINQ to Entities in Visual Studio 2010. WCF and LINQ to Entities are both powerful yet complex technologies from Microsoft—but you will be surprised at how easily this book will get you get up and running with them.Mastery of these two topics will quickly enable you to create Service-Oriented applications, and allow you to take your first steps into the world of Service Oriented Architecture without becoming overwhelmed.Through this book, you will learn what's going on behind the scenes with WCF, and dive into the basic yet most useful techniques for LINQ to Entities. You will develop three real-world multi-tiered WCF services from beginning to end, with LINQ to Entities being used in the data access layer of the services. Various clients including windows console applications, the WCF Test Client, Windows Form applications and WPF applications will be created to test these WCF services. By the end of this book, you will be 100% confident that you know WCF and LINQ to Entities, not only in theory, but with sound real-world experience.
Table of Contents (16 chapters)
WCF 4.0 Multi-tier Services Development with LINQ to Entities
Credits
About the Author
About the Reviewers
Preface
Index

Index

A

  • Allowed option / Modifying the service operation contract to allow a transaction flow
  • anonymous data types
    • creating / Anonymous types
  • app.config file / Consuming the service hosted in a console application , Using the C# WCF service library template
    • modifying / Modifying the app.config file
    • modifying, steps / Modifying the app.config file
    • content, viewing / Modifying the app.config file
    • service testing, WCF Test Client used / Testing the service using WCF Test Client
    • service testing, own client used / Testing the service using our own client
  • asmx file / Adding an SVC file to the host application
  • ASP.NET Development Server
    • WCF service, hosting in / Hosting the WCF service in ASP.NET Development Server, Testing the host application, Adding an SVC file to the host application, Modifying the web.config file, Starting the host application
    • about / ASP.NET Development Server
  • aspnet_regiis.exe / Turn on Internet Information Services

B

  • BaseCustomer class / Generated classes with TPH inheritance
  • basic concepts, WCF
    • address / Address
    • address, parts / Address
    • binding / Binding
    • system-provided bindings, examples / Binding
    • contract / Contract
    • endpoint / Endpoint
    • behavior / Behavior
    • hosting / Hosting
    • channel / Channels
    • metadata / Metadata
  • basicHttpBinding
    • using / Modifying the web.config file
  • bin folder / Preparing the folders and files
  • btnGetProduct_Click method / Implementing the UpdateProduct functionality
  • btnUpdatePrice_Click method
    • about / Calling the new WCF service in the client application
  • business logic layer
    • product entity project, adding / Adding the product entity project
    • project, adding / Adding the business logic project
    • calling, from service interface layer / Calling the business logic layer from the service interface layer
    • WCF service, testing / Testing the WCF service with a business logic layer

C

  • C# client application, WCF service
    • console application, creating / Creating the client application project
    • files, generating / Generating the proxy and configuration files
    • customizing / Customizing the client application
    • running / Running the client application
    • service application, setting / Setting the service application to AutoStart
  • candyOrVeges query expression / LINQ query syntax and query expression
  • Class1.cs file / Creating the HelloWorld solution and project
  • CLR
    • about / WCF production and development environments, LINQ query syntax and query expression
  • collection
    • initializing / Collection initializer
  • collection initializer
    • about / Collection initializer
  • compiled query
    • defining / Compiled query
  • CompiledQuery class
    • about / Compiled query
  • Concurrency Mode property
    • about / Explaining the Concurrency Mode property
  • concurrency support
    • RowVersion concurrency mode, turning on / Turning on RowVersion concurrency mode
    • ProductEntity class, modifying / Modifying the ProductEntity class
    • ProductDAO class, modifying / Modifying the ProductDAO class
    • business logic layer classes, modifying / Modifying the business logic layer classes
    • service interface layer classes, modifying / Modifying the service interface layer classes
    • testing, WCF Test Client used / Testing concurrency with WCF Test Client
    • testing, own client used / Testing concurrency with our own clientconcurrency supporttesting, own client used
  • concurrent updates
    • testing manually / Testing concurrent update manually
    • testing manually, steps / Testing concurrent update manually
    • testing automatically / Testing concurrent update automatically
    • testing automatically, sequence / Testing concurrent update automatically
    • testing automatically, steps / Testing concurrent update automatically
  • configuration file, elements
    • Configuration / Modifying the web.config file
    • system.serviceModel / Modifying the web.config file
    • HelloWorldService / Modifying the web.config file
    • serviceBehaviors node / Modifying the web.config file
  • conflict
    • handling / Handling simultaneous (concurrent) updates
    • detecting, data column used / Detecting conflicts using a data column
    • detecting, version column used / Detecting conflicts using a version column
  • conflict detecting, data column used
    • Concurrency Mode property / Explaining the Concurrency Mode property
    • second Entity Data Model, adding / Adding another Entity Data Model
    • Entity Framework concurrency control, testing / Adding another Entity Data Model
    • test code, writing / Writing the test code
    • conflicts, testing / Testing the conflicts
    • concurrency control, turning on / Turning on concurrency control
  • conflict detecting, version column used
    • about / Detecting conflicts using a version column
    • version column, adding / Adding a version column
    • Products table, modeling / Modeling the Products table with a version column
    • test code, writing / Writing the test code
    • conflicts, testing / Testing the conflicts
  • connection string
    • copying, to service interface layer / Copying the connection string to the service layer
  • contract, WCF
    • about / Contract
    • service contract / Service contract
    • operation contract / Operation contract
    • message contract / Message contract
    • data contract / Data contract
    • fault contract / Fault contract
  • CreateQuery method / Dynamic query with expressions
  • CSDL
    • about / Entity Framework

D

  • DAL
    • about / Creating the data access layer project
  • data access layer
    • adding / Adding a data access layer
    • project, creating / Creating the data access layer project
    • calling, from business layer / Calling the data access layer from the business logic layer
    • database, preparing / Preparing the database
    • connection string, adding to configuration file / Adding the connection string to the configuration file
    • database, querying / Querying the database (GetProduct)
    • GetProduct method, testing / Testing the GetProduct method
    • UpdateProduct method. modifying / Updating the database (UpdateProduct)
    • LINQ to Entities, using / Using LINQ to Entities in the data access layer
    • GetProduct, modifying / Modifying GetProduct in the data access layer
    • UpdateProduct, modifying / Modifying UpdateProduct in the data access layer
  • database
    • records, querying / Querying records
    • records, updating / Updating records
    • records, inserting / Inserting records
    • records, deleting / Deleting records
    • records, running / Running the program
  • data column
    • using, for conflict detection / Detecting conflicts using a data column, Explaining the Concurrency Mode property, Adding another Entity Data Model, Writing the test code, Testing the conflicts, Turning on concurrency control
  • DataMember property / Creating the data contracts
  • data validation
    • validation method, implementing / Adding validations to entity classes
  • deferred executions
    • about / Deferred execution
    • checking, SQL profiler used / Checking deferred execution with SQL profiler
    • for singleton methods / Deferred execution for singleton methods
    • for singleton methods, within sequence expressions / Deferred execution for singleton methods within sequence expressions
  • deferred loading
    • about / Deferred (lazy) loading versus eager loading
  • DeleteObject method / Deleting records
  • Direct SQL
    • about / Direct SQL
  • DistNorthwind solution
    • creating / Creating the DistNorthwind solution
    • final structure, viewing / Creating the DistNorthwind solution
  • distributed transaction support
    • enabling / Enabling distributed transaction support
    • transaction flow, enabling in service binding / Enabling transaction flow in service binding
    • transaction propagation, enabling / Enabling transaction flow in service binding
    • transaction flow, enabling on service hosting application / Enabling transaction flow on the service hosting application
    • service operation contract, modifying / Modifying the service operation contract to allow a transaction flow
    • service operation implementation, modifying / Modifying the service operation implementation to require a transaction scope
    • configuration files, regenerating / Modifying the service operation implementation to require a transaction scope
    • proxy files, regenerating / Modifying the service operation implementation to require a transaction scope
    • in WCF service / Understanding the distributed transaction support of a WCF service
    • testing / Testing the distributed transaction support of the WCF service
    • firewall, configuring / Configuring the firewall
    • transaction client, propagating to WCF service / Propagating a transaction from the client to the WCF service
  • distributed transaction support, testing
    • MSDTC, configuring / Configuring the Distributed Transaction Coordinator

E

  • eager loading
    • include method, using / Eager loading the with Include method
  • EDM
    • about / LINQ to Entities, Creating the Data Model
    • creating, ways / Creating the Data Model
    • LINQ to Entities item, adding to project / Adding a LINQ to Entities item to the project
    • Entity Data Model Wizard window / Adding a LINQ to Entities item to the project
    • generated LINQ to Entities classes / Generated LINQ to Entities classes
  • EF
    • about / Entity Framework
    • benefits / Entity Framework
    • conceptual data model schema / Entity Framework
  • ElementAtOrDefault method / Updating records
  • entity class validation
    • about / Adding validations to entity classes
  • Entity Framework Extensions
    • installing, URL / Mapping a stored procedure to an existing entity class
  • error handling, adding to WCF service
    • about / Adding error handling to the service
    • fault contract, adding / Adding a fault contract
    • fault exception, throwing / Throwing a fault exception
    • client program, updating / Updating the client program to catch the fault exception
    • fault exception, testing / Testing the fault exception
  • ExecuteStoreCommand() method / Direct SQL
  • ExecuteStoreQuery() method / Direct SQL
  • extension methods
    • about / Extension methods
    • defining / Extension methods
    • Program.cs file, viewing / Extension methods

G

  • generated SQL statements
    • viewing, ways / View Generated SQL statements
    • viewing, ToTraceString method used / View SQL statements using ToTraceString
    • viewing, Profiler used / View SQL statements using Profiler
  • GetMessage method / Creating the HelloWorldService service contract interface
  • GetProduct method / Calling the business logic layer from the service interface layer
    • modifying / Modifying the GetProduct method
    • testing / Testing the GetProduct and UpdateProduct operations
    • testing, sequence / Testing concurrent update manually
  • GetRemoteProduct method
    • about / Calling the new WCF service in the client application

H

  • HelloWorldService.cs file
    • final view / Implementing the HelloWorldService service contract
    / Debugging the WCF service hosted in IIS
  • HelloWorld WCF service
    • final directory structure / Creating the HelloWorld solution and project
    • first solution, creating / Creating the HelloWorld solution and project
    • project, creating / Creating the HelloWorld solution and project
    • System.ServiceModel namespace, adding reference to / Creating the HelloWorld solution and project
    • service contract interface, implementing / Implementing the HelloWorldService service contract
    • hosting / Hosting the HelloWorld WCF service
    • hosting, in managed application / Hosting the service in a managed application
    • hosting, in Windows service / Hosting the service in a Windows service
    • hosting, in IIS / Hosting the service in Internet Information Server
    • hosting, options / Other WCF service hosting options
    • debugging / Debugging the HelloWorld WCF service
    • debugging, from client application / Debugging from the client application
    • debugging, only WCF service / Debugging only the WCF service
    • attaching, to WCF service / Attaching to a WCF service process
    • Visual Studio Just-In-Time debugger / Just-In-Time debugger
  • HelloWorld WCF service, attaching to WCF service process
    • about / Attaching to a WCF service process
    • running, in debugging mode / Running the WCF service and client applications in non-debugging mode
    • IIS hosted service, debugging / Debugging the WCF service hosted in IIS
  • HelloWorld WCF service, building
    • service contract interface, creating / Creating the HelloWorldService service contract interface
  • HelloWorld WCF service, debugging from client application
    • process, starting / Starting the debugging process
    • ASP.NET Development Server, attaching to / Attaching to ASP.NET Development Server
    • WCF service, stepping into / Stepping into the WCF service
  • HelloWorld WCF service, debugging only WCF service
    • about / Debugging only the WCF service
    • client application, in debug mode / Starting the WCF Service in debugging mode
    • client application in non-debugging mode / Starting the client application in non-debugging mode
  • HelloWorld WCF service, hosting in managed application
    • about / Hosting the service in a managed application
    • hosting, in console application / Hosting the service in a console application
    • hosted service, consuming / Consuming the service hosted in a console application
  • HelloWorld WCF service, hosting in Windows service
    • about / Hosting the service in a Windows service
    • hosting, in IIS / Hosting the service in Internet Information Server
    • folders, creating / Preparing the folders and files
    • files, copying / Preparing the folders and files
    • IIS, turning on / Turn on Internet Information Services
    • IIS application, creating / Creating the IIS application
    • WCF service, starting in IIS / Starting the WCF service in IIS
    • hosted WCF service in IIS, testing / Testing the WCF service hosted in IIS
  • HostDevServer
    • about / Setting the service application to AutoStart
  • hosting, WCF
    • about / Hosting
    • self-hosting / Self hosting
    • Windows services hosting / Windows services hosting
    • IIS hosting / IIS hosting
    • Windows Activation Services hosting / Windows Activation Services hosting

I

  • IIS
    • about / ASP.NET Development Server
  • implicitly typed array / Object initializer
  • Include method / Eager loading the with Include method
  • inheritance
    • TPH / Inheritance
    • TPT / Inheritance
    • TPC / Inheritance
  • IProductService.cs file / Calling the business logic layer from the service interface layer
  • IService1.cs file / Using the C# WCF service library template

L

  • lambda expression
    • about / Lambda expressions
  • layers, WCF service
    • service interface layer / Why layer a service?
    • business logic layer / Why layer a service?
    • data access layer / Why layer a service?
    • about / Why layer a service?
    • service interface layer, creating / Creating the service interface layer
    • business logic layer, adding / Adding a business logic layer
  • lazy loading
    • about / Lazy loading by default
  • LINQ
    • about / What is LINQ
    • example / What is LINQ
    • project, creating / Creating the test solution and project
    • solution, creating / Creating the test solution and project
    • var datatype / New data type var
    • built-in extension methods / Built-in LINQ extension methods and method syntax
    • query syntax / LINQ query syntax and query expression
    • query expression / LINQ query syntax and query expression
    • built-in operators / Built-in LINQ operators
    • to Entities / LINQ to Entities
  • LINQNorthwindEntities
    • project properties / Creating the LINQNorthwind solution
  • LINQNorthwind solution
    • creating / Creating the LINQNorthwind solution
    • creating, steps / Creating the LINQNorthwind solution
  • LINQ to Entities
    • about / LINQ to Entities
    • LINQ to SQL, differentiating between / LINQ to Entities
    • comparing, with LINQ to objects / Comparing LINQ to Entities with LINQ to Objects
    • LINQ to Objects, key differences / Comparing LINQ to Entities with LINQ to Objects
    • comparing, with LINQ to SQL / Comparing LINQ to SQL with LINQ to Entities
    • test applications, creating / Creating a LINQ to Entities test application
    • deferred executions / Deferred execution
    • inheritance, types / Inheritance
    • TPH / LINQ to Entities Table per Hierarchy inheritance
    • TPT / LINQ to Entities Table per Type inheritance
    • concurrency control, handling / Detecting conflicts using a data column, Detecting conflicts using a version column
    • programs, debugging / Debugging LINQ to Entities programs
    • using, in data access layer / Using LINQ to Entities in the data access layer
  • LINQ to Entities, using in data access layer
    • about / Using LINQ to Entities in the data access layer
    • GetProduct, modifying / Modifying GetProduct in the data access layer
    • UpdateProduct, modifying / Modifying UpdateProduct in the data access layer
    • testing, WCF Test Client used / Testing LINQ to Entities with the WCF Test Client
  • LINQ to Objects
    • LINQ to Entities, key differences / Comparing LINQ to Entities with LINQ to Objects
  • LINQ to SQL
    • about / LINQ to SQL
    • LINQ to Entities, differences / LINQ to SQL
    • using, in .NET application / LINQ to SQL
    • comparing, with LINQ to Entities / Comparing LINQ to SQL with LINQ to Entities
  • loosely-coupled services
    • about / What is SOA?

M

  • Main method / Hosting the service in a console application
  • MainWindow.xaml.cs file
    • about / Creating a client to call the WCF service sequentially, Testing the sequential calls to the WCF service
  • Mandatory option / Modifying the service operation contract to allow a transaction flow
  • MEPs
    • about / Endpoint
  • MSDTC
    • about / Explicit transactions, Configuring the Distributed Transaction Coordinator
  • MSL
    • about / Entity Framework
  • multiple database support, WCF service
    • testing / Testing multiple database support of the WCF service
    • new WCF service, creating / Creating a new WCF service
    • WPF client application modifying, calling in client application / Calling the new WCF service in the client application
    • distributed transaction support testing, two databases used / Testing the WCF service with two databases

N

  • .NET Frameworks
    • .NET 4.0 / WCF production and development environments
    • .NET 3.5 SP1 / WCF production and development environments
    • .NET 3.5 / WCF production and development environments
    • .NET 3.0 / WCF production and development environments
    • .NET 2.0 / WCF production and development environments
    • .NET 1.1 / WCF production and development environments
    • .NET 1.0 / WCF production and development environments
  • .NET Standard Query Operators
    • ToList / Built-in LINQ operators
    • FirstOrDefault / Built-in LINQ operators
    • Max / Built-in LINQ operators
    • Min / Built-in LINQ operators
  • NetNamedPipeBinding / Enabling transaction flow in service binding
  • NetTcpBinding / Enabling transaction flow in service binding
  • Northwind
    • about / Preparing the database
  • Northwind.designer.cs file / Generated classes with TPH inheritance
    • testing / Testing the TPT inheritance
  • Northwind database
    • modeling / Modeling the Northwind database
  • NorthwindEntities class / Generated LINQ to Entities classes
  • NotAllowed option / Modifying the service operation contract to allow a transaction flow
  • NWEntities.SaveChanges() / Updating records

O

  • object
    • creating / Object initializer
    • initializing / Object initializer
  • ObjectContext class / Generated LINQ to Entities classes
  • object initializer
    • using / Object initializer
  • ObjectQuery.ToTraceString method / View Generated SQL statements
  • ODBC
    • about / ORM—Object-Relational Mapping
  • OrderDetail class / ORM—Object-Relational Mapping
  • ORM
    • about / ORM—Object-Relational Mapping

P

  • predicate expression / Dynamic query with expressions
  • ProductDAO.cs file
    • content / Updating the database (UpdateProduct)
  • ProductDAO class / Creating the data access layer project
    • modifying / Modifying the ProductDAO class
  • ProductDAO class, modifying
    • GetProduct method, modifying / Modifying the GetProduct method
    • UpdateProduct method, modifying / Modifying UpdateProduct method
    • modified UpdateProduct method, viewing / Modifying UpdateProduct method
  • ProductEntity class
    • code list / Adding the product entity project
    • modifying / Modifying the ProductEntity class
  • ProductID / Creating the data contracts
  • ProductLogic.cs file / Calling the data access layer from the business logic layer
  • ProductLogic class
    • code, adding / Adding the business logic project
  • ProductName / Creating the data contracts
    • defining / Automatic properties
  • ProductService.cs file
    • final content / Calling the business logic layer from the service interface layer
  • ProductService class / Calling the business logic layer from the service interface layer
  • Program.cs file
    • about / Hosting the service in a console application
    • content / Hosting the service in a console application, Testing the service using our own client
    • modifying / Testing the service using our own client
    / Automatic properties
  • Program.cs file
    • about / Summary

Q

  • QuantityPerUnit / Creating the data contracts
  • query, building dynamically
    • methods / Dynamic query
    • expressions, using / Dynamic query with expressions
    • parameters, using / Dynamic query with parameters
  • Quick Info pop-up window / Debugging LINQ to Entities programs
  • Quick Info window / Debugging LINQ to Entities programs

R

  • RealNorthwind solution and project
    • creating, service library template used / Using the C# WCF service library template
  • RowVersion entity property / Modeling the Products table with a version column

S

  • .svc file / Adding an SVC file to the host application
  • SaveChanges method
    • about / Explicit transactions
  • Service1.cs file / Implementing the service contracts
  • Service1.svc file / Using the C# WCF service application template
  • ServiceContract attribute
    • adding / Creating the HelloWorldService service contract interface
  • service interface layer
    • service interfaces, creating / Creating the service interfaces
    • data contracts, creating / Creating the data contracts
    • data contracts, properties / Creating the data contracts
    • service contracts, implementing / Implementing the service contracts
    • app.config file, modifying / Modifying the app.config file
    • connection string, copying to / Copying the connection string to the service layer
  • ServiceModelReg.exe / Turn on Internet Information Services
  • SOA
    • about / What is SOA?
    • loosely-coupled services / What is SOA?
    • web services / Web services
  • SOAP
    • about / SOAP
  • SSDL
    • about / Entity Framework
  • stored procedure
    • calling / Calling a stored procedure
    • mapping, to new entity class / Mapping a stored procedure to a new entity class, Modeling a stored procedure, Querying a stored procedure
    • modeling / Modeling a stored procedure
    • modeling, steps / Modeling a stored procedure
    • querying / Querying a stored procedure
    • mapping, to existing entity class / Mapping a stored procedure to an existing entity class
  • svcutil.exe tool
    • about / Generating the proxy and configuration files
  • System.Linq.Enumerable class / Built-in LINQ operators

T

  • tables, joining
    • JOIN, using / Joining two tables
  • test client, creating
    • steps / Creating the test client
    • GetProduct, implementing / Implementing the GetProduct functionality
    • UpdateProduct, implementing / Implementing the UpdateProduct functionality
  • ToTraceString method
    • using, for generated SQL statement viewing / View SQL statements using ToTraceString
  • TPC inheritance
    • about / Inheritance
  • TPH inheritance
    • about / Inheritance, LINQ to Entities Table per Hierarchy inheritance
    • example / LINQ to Entities Table per Hierarchy inheritance
    • BaseCustomer entity, modeling / Modeling the BaseCustomer and USACustomer entities
    • USACustomer entity, modeling / Modeling the BaseCustomer and USACustomer entities
    • UKCustomer entity, modeling / Modeling the UKCustomer entity
    • generated class / Generated classes with TPH inheritance
    • testing / Testing the TPH inheritance
  • TPT inheritance
    • about / Inheritance, LINQ to Entities Table per Type inheritance
    • examples / LINQ to Entities Table per Type inheritance
    • database tables, preparing / Preparing database tables
    • USACustomer1 entity, modeling / Modeling USACustomer1 and UKCustomer1 entities
    • UKCustomer1 entity, modeling / Modeling USACustomer1 and UKCustomer1 entities
    • generated classes / Generated classes with TPT inheritance
    • testing / Testing the TPT inheritance
  • transaction behavior, WCF service
    • testing / Testing the transaction behavior of the WCF service
    • WPF client, creating / Creating a client to call the WCF service sequentially
    • sequential calls, testing / Testing the sequential calls to the WCF service
    • two service calls, wrappping in one transaction scope / Wrapping the WCF service calls in one transaction scope
    • multiple database support, testing / Testing multiple database support of the WCF service
  • transaction client, propagating to WCF service
    • distributed transaction support testing, one database used / Testing distributed transaction support with one database
    • distributed transaction support testing, two databases used / Testing distributed transaction support with two databases
  • transactionFlow / Enabling transaction flow in service binding
  • TransactionScope
    • using / Explicit transactions
  • TransactionScopeRequired attribute / Modifying the service operation implementation to require a transaction scope
  • transaction support
    • about / Transaction support
    • implicit transaction / Implicit transactions
    • explicit transaction / Explicit transactions

U

  • UnitPrice parameter / Testing the service using WCF Test Client
  • UnitsOnOrder property / Adding the business logic project, Testing the WCF service with a business logic layer
  • UpdatePrice method
    • about / Calling the new WCF service in the client application
  • UpdateProduct method
    • adding / Adding the business logic project
    • modifying / Calling the business logic layer from the service interface layer, Modifying UpdateProduct method
    • testing / Testing the GetProduct and UpdateProduct operations

V

  • var datatype
    • about / New data type var
    • uses / New data type var
  • version column
    • using, for conflict detection / Detecting conflicts using a version column
    • adding / Adding a version column
    • Products table, modeling / Modeling the Products table with a version column
    • test code, writng / Writing the test code
  • view
    • querying / Querying a view
  • Visual Studios
    • versions / WCF production and development environments

W

  • WAS
    • about / Windows Activation Services hosting
  • WCF
    • about / WCF: Windows Communication Foundation
    • using for, SOA / Why is WCF used for SOA?
    • requirements, addressing / Why is WCF used for SOA?
    • architecture / WCF architecture
    • basic concepts / Basic WCF concepts—WCF ABCs
    • service endpoints / Endpoint
  • WCF architecture
    • diagram / WCF architecture
    • Contracts layer / WCF architecture
    • Service runtime layer / WCF architecture
    • Messaging layer / WCF architecture
  • WCF service
    • hosting, ASP.NET Development Server used / Hosting the WCF service in ASP.NET Development Server
    • C# client application, creating / Creating a client to consume the WCF service
    • layering, need for / Why layer a service?
    • layers / Why layer a service?
    • testing, business logic layer used / Testing the WCF service with a business logic layer
    • hosting, in IIS / Hosting the WCF service in IIS
    • transaction behavior, testing / Testing the transaction behavior of the WCF service
    • bindings / Enabling transaction flow in service binding
    • distributed transaction support / Understanding the distributed transaction support of a WCF service
    • distributed transaction support, testing / Testing the distributed transaction support of the WCF service
  • WCF service hosting, ASP.NET Development Server used
    • host application, creating / Creating the host application
    • host application, testing / Testing the host application
    • ASP.NET Development Server / ASP.NET Development Server
    • SVC file, adding / Adding an SVC file to the host application
    • web.config file, modifying / Modifying the web.config file
    • host application, starting / Starting the host application
  • WCF templates
    • C# WCF service library template, using / Using the C# WCF service library template
    • C# WCF service application template, using / Using the C# WCF service application template
    • C# WCF service application template, testing / Using the C# WCF service application template
  • WCF Test Client
    • using, for service testing / Testing the service using WCF Test Client
    • using, for LINQ to Entities testing / Testing LINQ to Entities with the WCF Test Client
    • using, for concurrency support test / Testing concurrency with WCF Test Client
  • web.config file
    • modifying / Modifying the web.config file
    / Using the C# WCF service application template
  • webdev.webserver.exe file / ASP.NET Development Server
  • web services
    • about / What is a web service?
    • interaction diagram / What is a web service?
    • calling / What is a web service?
    • WSDL / Web service WSDL
    • proxy / Web service proxy
    • proxy class / Web service proxy
    • SOAP / SOAP
    • standards / Web services: standards and specifications
    • specifications / Web services: standards and specifications
    • WS-I Profiles / WS-I Profiles
    • WS-Addressing / WS-Addressing
    • WS-Security / WS-Security
    • WS-ReliableMessaging / WS-ReliableMessaging
    • WS-Coordination / WS-Coordination and WS-Transaction
    • WS-Transaction / WS-Coordination and WS-Transaction
    • WS-AtomicTransaction / WS-Coordination and WS-Transaction
    • WS-BusinessActivity / WS-Coordination and WS-Transaction
  • WS-Addressing
    • about / WS-Addressing
  • WS-AtomicTransaction
    • about / WS-Coordination and WS-Transaction
  • WS-BusinessActivity
    • about / WS-Coordination and WS-Transaction
  • WS-Coordination
    • about / WS-Coordination and WS-Transaction
  • WS-I Profiles
    • about / WS-I Profiles
  • WS-ReliableMessaging
    • about / WS-ReliableMessaging
  • WS-Security
    • about / WS-Security
  • WS-Transaction
    • about / WS-Coordination and WS-Transaction
  • WSDL
    • about / Web service WSDL
  • wsdl file
    • about / Starting the host application
  • wsdl xml file
    • about / Starting the host application
  • WSDualHttpBinding / Enabling transaction flow in service binding
  • WSE
    • about / What is WCF?
  • WSFederationHttpBinding / Enabling transaction flow in service binding
  • WSHttpBinding / Enabling transaction flow in service binding
  • wsHttpBinding
    • using / Modifying the web.config file