实例介绍
《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。书如其名,此书涵盖了WCF几乎所有的知识点,并对其底层框架进行了“庖丁解牛”式的剖析,力求将WCF的整个运行机制完整而清晰地呈现在读者面前。 《WCF全面解析(套装上下册)》上册的前四章在对WCF进行总体介绍的基础上,对构成终结点的三要素(地址、绑定和契约)进行了系统说明;随后的两章则着重剖析序列化和消息编码在WCF中的实现;第7、8章讲述了在服务寄宿和操作调用过程中,WCF的服务端和客户端框架分别为我们做了什么;第9、10章将介绍的重点落在实例化、会话和REST服务上面;在最后一章中采用WCF构建了一个具体的电子商务网站VM,它将指导你如何将理论应用于实践。 这里包含了所有的示例代码!
【实例截图】
【核心代码】
4744302542885017712.rar
├── 上册
│ ├── Chapter 1
│ │ ├── S101
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Client.csproj.user
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ │ └── ServiceReferences
│ │ │ │ ├── CalculatorService.wsdl
│ │ │ │ ├── configuration91.svcinfo
│ │ │ │ ├── configuration.svcinfo
│ │ │ │ ├── metadata1.xsd
│ │ │ │ ├── metadata.wsdl
│ │ │ │ ├── metadata.xsd
│ │ │ │ ├── Reference.cs
│ │ │ │ └── Reference.svcmap
│ │ │ ├── Hosting
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Hosting.vshost.exe
│ │ │ │ │ └── Artech.WcfServices.Hosting.vshost.exe.manifest
│ │ │ │ ├── Hosting.csproj
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S102
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Client.csproj.user
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Hosting
│ │ │ │ ├── App.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Hosting.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Hosting.vshost.exe
│ │ │ │ │ ├── Artech.WcfServices.Hosting.vshost.exe.config
│ │ │ │ │ └── Artech.WcfServices.Hosting.vshost.exe.manifest
│ │ │ │ ├── Hosting.csproj
│ │ │ │ ├── Hosting.csproj.user
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ ├── Hosting.csproj.FileListAbsolute.txt
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S103
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Client.csproj.user
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Hosting
│ │ │ │ ├── App.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Hosting.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Hosting.vshost.exe
│ │ │ │ │ ├── Artech.WcfServices.Hosting.vshost.exe.config
│ │ │ │ │ └── Artech.WcfServices.Hosting.vshost.exe.manifest
│ │ │ │ ├── Hosting.csproj
│ │ │ │ ├── Hosting.csproj.user
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ ├── Hosting.csproj.FileListAbsolute.txt
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S104
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── bin
│ │ │ │ └── Debug
│ │ │ │ ├── Artech.WcfServices.Client.exe
│ │ │ │ ├── Artech.WcfServices.Client.exe.config
│ │ │ │ ├── Artech.WcfServices.Client.pdb
│ │ │ │ ├── Artech.WcfServices.Client.vshost.exe
│ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.config
│ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.manifest
│ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ └── Artech.WcfServices.Service.Interface.pdb
│ │ │ ├── Client.csproj
│ │ │ ├── Client.csproj.user
│ │ │ ├── obj
│ │ │ │ └── x86
│ │ │ │ └── Debug
│ │ │ │ ├── Artech.WcfServices.Client.exe
│ │ │ │ ├── Artech.WcfServices.Client.pdb
│ │ │ │ ├── Client.csproj.FileListAbsolute.txt
│ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ ├── ResolveAssemblyReference.cache
│ │ │ │ └── TempPE
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Hosting
│ │ │ ├── App.config
│ │ │ ├── Hosting.csproj
│ │ │ ├── Hosting.csproj.user
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── bin
│ │ │ │ ├── Artech.WcfServices.Service.dll
│ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ ├── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ └── Artech.WcfServices.Service.pdb
│ │ │ ├── CalculatorService.cs
│ │ │ ├── CalculatorService.svc
│ │ │ ├── obj
│ │ │ │ └── Debug
│ │ │ │ ├── Artech.WcfServices.Service.dll
│ │ │ │ ├── Artech.WcfServices.Service.pdb
│ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ ├── ResolveAssemblyReference.cache
│ │ │ │ ├── Service.csproj.FileListAbsolute.txt
│ │ │ │ └── TempPE
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ └── Web.config
│ │ ├── Service.Interface
│ │ │ ├── bin
│ │ │ │ └── Debug
│ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ └── Artech.WcfServices.Service.Interface.pdb
│ │ │ ├── ICalculator.cs
│ │ │ ├── obj
│ │ │ │ └── Debug
│ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ ├── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ ├── Service.Interface.csproj.FileListAbsolute.txt
│ │ │ │ └── TempPE
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 10
│ │ ├── ConditionalRetrieval.rar
│ │ ├── S1001
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1002
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1003
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1004
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1005
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1006
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1007
│ │ │ └── WebHttpOperationSelector
│ │ │ ├── WebHttpOperationSelector
│ │ │ │ ├── app.config
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── WebHttpOperationSelector.cs
│ │ │ │ └── WebHttpOperationSelector.csproj
│ │ │ ├── WebHttpOperationSelector.sln
│ │ │ └── WebHttpOperationSelector.suo
│ │ ├── S1008
│ │ │ └── ClientMessageFormatter
│ │ │ ├── ClientMessageFormatter
│ │ │ │ ├── app.config
│ │ │ │ ├── ClientMessageFormatter.csproj
│ │ │ │ ├── DisplayClientMessageFormatter.cs
│ │ │ │ ├── IContract.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ClientMessageFormatter.sln
│ │ │ └── ClientMessageFormatter.suo
│ │ ├── S1009
│ │ │ └── ClientMessageFormatter
│ │ │ ├── ClientMessageFormatter
│ │ │ │ ├── app.config
│ │ │ │ ├── ClientMessageFormatter.csproj
│ │ │ │ ├── DisplayClientMessageFormatter.cs
│ │ │ │ ├── IContract.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ClientMessageFormatter.sln
│ │ │ └── ClientMessageFormatter.suo
│ │ ├── S1010
│ │ │ └── ClientMessageFormatter
│ │ │ ├── ClientMessageFormatter
│ │ │ │ ├── app.config
│ │ │ │ ├── ClientMessageFormatter.csproj
│ │ │ │ ├── DisplayClientMessageFormatter.cs
│ │ │ │ ├── IContract.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ClientMessageFormatter.sln
│ │ │ └── ClientMessageFormatter.suo
│ │ ├── S1011
│ │ │ └── ClientMessageFormatter
│ │ │ ├── ClientMessageFormatter
│ │ │ │ ├── app.config
│ │ │ │ ├── ClientMessageFormatter.csproj
│ │ │ │ ├── DisplayClientMessageFormatter.cs
│ │ │ │ ├── IContract.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ClientMessageFormatter.sln
│ │ │ └── ClientMessageFormatter.suo
│ │ ├── S1012
│ │ │ └── ClientMessageFormatter
│ │ │ ├── ClientMessageFormatter
│ │ │ │ ├── app.config
│ │ │ │ ├── ClientMessageFormatter.csproj
│ │ │ │ ├── DisplayClientMessageFormatter.cs
│ │ │ │ ├── IContract.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ClientMessageFormatter.sln
│ │ │ └── ClientMessageFormatter.suo
│ │ ├── S1013
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ ├── Service.csproj.user
│ │ │ │ ├── TimeService.cs
│ │ │ │ ├── TimeService.svc
│ │ │ │ └── Web.config
│ │ │ ├── Service.Interface
│ │ │ │ ├── ITime.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S1014
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EmployeesService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEmployees.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S1015
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── EmployeesService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── IEmployees.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 11
│ │ └── VideoMall
│ │ ├── Common
│ │ │ ├── BaseClasses
│ │ │ │ ├── BusinessComponentBase.cs
│ │ │ │ ├── DataAccessBase.cs
│ │ │ │ ├── DbHelper.cs
│ │ │ │ ├── ExtendedController.cs
│ │ │ │ ├── ServiceBase.cs
│ │ │ │ └── ServiceProxyBase.cs
│ │ │ ├── Common.csproj
│ │ │ ├── Common.csproj.user
│ │ │ ├── Constants.cs
│ │ │ ├── Exception Handling
│ │ │ │ ├── ChannelFactories.cs
│ │ │ │ ├── ExceptionHandlingBehavior.cs
│ │ │ │ ├── ExceptionHandlingBehaviorElement.cs
│ │ │ │ ├── ExceptionHandlingChannelFactory.cs
│ │ │ │ ├── ExceptionHandlingServiceHost.cs
│ │ │ │ ├── ExceptionHandlingServiceHostFactory.cs
│ │ │ │ ├── OperationInvoker~1.cs
│ │ │ │ ├── OperationInvoker.cs
│ │ │ │ ├── ServiceErrorHandler.cs
│ │ │ │ └── ServiceExceptionDetail.cs
│ │ │ ├── IoC
│ │ │ │ ├── Interception
│ │ │ │ │ ├── CachingCallHandlerAttribute.cs
│ │ │ │ │ ├── CachingCallHandler.cs
│ │ │ │ │ ├── DefaultCacheKeyGenerator.cs
│ │ │ │ │ └── ICacheKeyGenerator.cs
│ │ │ │ ├── IServiceLocator.cs
│ │ │ │ ├── ServiceLocatableControllerFactory.cs
│ │ │ │ ├── ServiceLocatorFactory.cs
│ │ │ │ ├── UnityServiceLocator.cs
│ │ │ │ └── WCF
│ │ │ │ ├── IoCIntegrationBehavior.cs
│ │ │ │ ├── IoCIntegrationBehaviorElement.cs
│ │ │ │ └── ServiceLocatableInstanceProvider.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Database Files
│ │ │ ├── ASPNETDB_log.ldf
│ │ │ └── ASPNETDB.MDF
│ │ ├── Infrastructure
│ │ │ ├── BusinessComponent
│ │ │ │ ├── BusinessComponent.csproj
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── SecurityAuditBC.cs
│ │ │ ├── BusinessEntity
│ │ │ │ ├── BusinessEntity.csproj
│ │ │ │ ├── MembershipProviderData.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── SecurityAuditEntry.cs
│ │ │ │ └── SecurityAuditType.cs
│ │ │ ├── DataAccess
│ │ │ │ ├── DataAccess.csproj
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── SecurityAuditDA.cs
│ │ │ ├── Infrastrucuture
│ │ │ │ ├── Infrastrucuture.csproj
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── RemoteMembershipProvider.cs
│ │ │ │ ├── SecurityAudit.cs
│ │ │ │ └── SecurityAuditProxy.cs
│ │ │ ├── Infrastrucuture.Interface
│ │ │ │ ├── Infrastrucuture.Interface.csproj
│ │ │ │ ├── ISecurityAudit.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface
│ │ │ ├── IMembershipService.cs
│ │ │ ├── ISecurityAuditService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── Lib
│ │ │ ├── Microsoft.Practices.EnterpriseLibrary.Common.dll
│ │ │ ├── Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll
│ │ │ ├── Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.dll
│ │ │ ├── Microsoft.Practices.EnterpriseLibrary.Logging.dll
│ │ │ ├── Microsoft.Practices.ServiceLocation.dll
│ │ │ ├── Microsoft.Practices.Unity.Configuration.dll
│ │ │ ├── Microsoft.Practices.Unity.dll
│ │ │ ├── Microsoft.Practices.Unity.Interception.Configuration.dll
│ │ │ └── Microsoft.Practices.Unity.Interception.dll
│ │ ├── Modules
│ │ │ ├── Orders
│ │ │ │ ├── BusinessComponent
│ │ │ │ │ ├── BusinessComponent.csproj
│ │ │ │ │ ├── OrdersBC.cs
│ │ │ │ │ └── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── BusinessEntity
│ │ │ │ │ ├── BusinessEntity.csproj
│ │ │ │ │ ├── Order.cs
│ │ │ │ │ ├── OrdersException.cs
│ │ │ │ │ └── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── DataAccess
│ │ │ │ │ ├── DataAccess.csproj
│ │ │ │ │ ├── OrdersDA.cs
│ │ │ │ │ └── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Orders
│ │ │ │ │ ├── Orders.csproj
│ │ │ │ │ ├── OrdersProxy.cs
│ │ │ │ │ └── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Orders.Interface
│ │ │ │ │ ├── Orders.Interface.csproj
│ │ │ │ │ └── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface
│ │ │ │ ├── IOrdersService.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ └── Products
│ │ │ ├── BusinessComponent
│ │ │ │ ├── BusinessComponent.csproj
│ │ │ │ ├── ProductsBC.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── BusinessEntity
│ │ │ │ ├── BusinessEntity.csproj
│ │ │ │ ├── Movie.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── DataAccess
│ │ │ │ ├── DataAccess.csproj
│ │ │ │ ├── ProductsDA.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Products
│ │ │ │ ├── Products.cs
│ │ │ │ ├── Products.csproj
│ │ │ │ ├── ProductsProxy.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Products.Interface
│ │ │ │ ├── IProducts.cs
│ │ │ │ ├── Products.Interface.csproj
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface
│ │ │ ├── IProductsService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── packages
│ │ │ ├── EntityFramework.4.1.10331.0
│ │ │ │ ├── EntityFramework.4.1.10331.0.nupkg
│ │ │ │ └── lib
│ │ │ │ ├── EntityFramework.dll
│ │ │ │ └── EntityFramework.xml
│ │ │ ├── jQuery.1.5.1
│ │ │ │ ├── Content
│ │ │ │ │ └── Scripts
│ │ │ │ │ ├── jquery-1.5.1.js
│ │ │ │ │ └── jquery-1.5.1.min.js
│ │ │ │ └── jQuery.1.5.1.nupkg
│ │ │ ├── jQuery.UI.Combined.1.8.11
│ │ │ │ ├── Content
│ │ │ │ │ ├── Content
│ │ │ │ │ │ └── themes
│ │ │ │ │ │ └── base
│ │ │ │ │ │ ├── images
│ │ │ │ │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png
│ │ │ │ │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png
│ │ │ │ │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png
│ │ │ │ │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png
│ │ │ │ │ │ │ ├── ui-bg_glass_75_dadada_1x400.png
│ │ │ │ │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png
│ │ │ │ │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png
│ │ │ │ │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png
│ │ │ │ │ │ │ ├── ui-icons_222222_256x240.png
│ │ │ │ │ │ │ ├── ui-icons_2e83ff_256x240.png
│ │ │ │ │ │ │ ├── ui-icons_454545_256x240.png
│ │ │ │ │ │ │ ├── ui-icons_888888_256x240.png
│ │ │ │ │ │ │ └── ui-icons_cd0a0a_256x240.png
│ │ │ │ │ │ ├── jquery.ui.accordion.css
│ │ │ │ │ │ ├── jquery.ui.all.css
│ │ │ │ │ │ ├── jquery.ui.autocomplete.css
│ │ │ │ │ │ ├── jquery.ui.base.css
│ │ │ │ │ │ ├── jquery.ui.button.css
│ │ │ │ │ │ ├── jquery.ui.core.css
│ │ │ │ │ │ ├── jquery.ui.datepicker.css
│ │ │ │ │ │ ├── jquery.ui.dialog.css
│ │ │ │ │ │ ├── jquery.ui.progressbar.css
│ │ │ │ │ │ ├── jquery.ui.resizable.css
│ │ │ │ │ │ ├── jquery.ui.selectable.css
│ │ │ │ │ │ ├── jquery.ui.slider.css
│ │ │ │ │ │ ├── jquery.ui.tabs.css
│ │ │ │ │ │ └── jquery.ui.theme.css
│ │ │ │ │ └── Scripts
│ │ │ │ │ ├── jquery-ui-1.8.11.js
│ │ │ │ │ └── jquery-ui-1.8.11.min.js
│ │ │ │ └── jQuery.UI.Combined.1.8.11.nupkg
│ │ │ ├── jQuery.Validation.1.8.0
│ │ │ │ ├── Content
│ │ │ │ │ └── Scripts
│ │ │ │ │ ├── jquery.validate.js
│ │ │ │ │ ├── jquery.validate.min.js
│ │ │ │ │ └── jquery.validate-vsdoc.js
│ │ │ │ └── jQuery.Validation.1.8.0.nupkg
│ │ │ ├── jQuery.vsdoc.1.5.1
│ │ │ │ ├── Content
│ │ │ │ │ └── Scripts
│ │ │ │ │ └── jquery-1.5.1-vsdoc.js
│ │ │ │ └── jQuery.vsdoc.1.5.1.nupkg
│ │ │ ├── Modernizr.1.7
│ │ │ │ ├── Content
│ │ │ │ │ └── Scripts
│ │ │ │ │ ├── modernizr-1.7.js
│ │ │ │ │ └── modernizr-1.7.min.js
│ │ │ │ └── Modernizr.1.7.nupkg
│ │ │ └── repositories.config
│ │ ├── Read Me.txt
│ │ ├── Services
│ │ │ ├── App_Data
│ │ │ │ ├── ASPNETDB_log.ldf
│ │ │ │ └── ASPNETDB.MDF
│ │ │ ├── Infrastructure
│ │ │ │ ├── MembershipService.svc
│ │ │ │ ├── SecurityAuditService.svc
│ │ │ │ ├── Service
│ │ │ │ │ ├── MembershipService.cs
│ │ │ │ │ ├── Properties
│ │ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ │ ├── SecurityAuditService.cs
│ │ │ │ │ └── Service.csproj
│ │ │ │ └── Web.config
│ │ │ ├── Orders
│ │ │ │ ├── OrdersService.svc
│ │ │ │ ├── Service
│ │ │ │ │ ├── OrdersService.cs
│ │ │ │ │ ├── Properties
│ │ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ │ └── Service.csproj
│ │ │ │ └── Web.config
│ │ │ ├── Products
│ │ │ │ ├── ProductsService.svc
│ │ │ │ ├── Service
│ │ │ │ │ ├── ProductsService.cs
│ │ │ │ │ ├── Properties
│ │ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ │ └── Service.csproj
│ │ │ │ └── Web.config
│ │ │ ├── trace.log
│ │ │ └── web.config
│ │ ├── VideoMall
│ │ │ ├── Content
│ │ │ │ ├── images
│ │ │ │ │ ├── add-to-cart.gif
│ │ │ │ │ ├── Al_Pacino_1.jpg
│ │ │ │ │ ├── Al_Pacino.png
│ │ │ │ │ ├── big_logout.png
│ │ │ │ │ ├── big_users.png
│ │ │ │ │ ├── continueshopping.jpg
│ │ │ │ │ ├── payment.jpg
│ │ │ │ │ ├── posters
│ │ │ │ │ │ ├── p925123037.jpg
│ │ │ │ │ │ ├── 威尼斯商人.jpg
│ │ │ │ │ │ ├── 忠奸人.jpg
│ │ │ │ │ │ ├── 盗火线.jpg
│ │ │ │ │ │ ├── 谍海计中计.jpg
│ │ │ │ │ │ └── 魔鬼代言人.jpg
│ │ │ │ │ ├── remove.jpg
│ │ │ │ │ ├── shoppingcart.png
│ │ │ │ │ └── Untitled-1.jpg
│ │ │ │ ├── Site.css
│ │ │ │ └── themes
│ │ │ │ └── base
│ │ │ │ ├── images
│ │ │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png
│ │ │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png
│ │ │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png
│ │ │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png
│ │ │ │ │ ├── ui-bg_glass_75_dadada_1x400.png
│ │ │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png
│ │ │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png
│ │ │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png
│ │ │ │ │ ├── ui-icons_222222_256x240.png
│ │ │ │ │ ├── ui-icons_2e83ff_256x240.png
│ │ │ │ │ ├── ui-icons_454545_256x240.png
│ │ │ │ │ ├── ui-icons_888888_256x240.png
│ │ │ │ │ └── ui-icons_cd0a0a_256x240.png
│ │ │ │ ├── jquery.ui.accordion.css
│ │ │ │ ├── jquery.ui.all.css
│ │ │ │ ├── jquery.ui.autocomplete.css
│ │ │ │ ├── jquery.ui.base.css
│ │ │ │ ├── jquery.ui.button.css
│ │ │ │ ├── jquery.ui.core.css
│ │ │ │ ├── jquery.ui.datepicker.css
│ │ │ │ ├── jquery.ui.dialog.css
│ │ │ │ ├── jquery.ui.progressbar.css
│ │ │ │ ├── jquery.ui.resizable.css
│ │ │ │ ├── jquery.ui.selectable.css
│ │ │ │ ├── jquery.ui.slider.css
│ │ │ │ ├── jquery.ui.tabs.css
│ │ │ │ └── jquery.ui.theme.css
│ │ │ ├── Controllers
│ │ │ │ ├── AccountController.cs
│ │ │ │ ├── OrdersController.cs
│ │ │ │ └── ProductsController.cs
│ │ │ ├── Global.asax
│ │ │ ├── Global.asax.cs
│ │ │ ├── Models
│ │ │ │ ├── LoginInfo.cs
│ │ │ │ └── ShoppingCart.cs
│ │ │ ├── packages.config
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Scripts
│ │ │ │ ├── jquery-1.5.1.js
│ │ │ │ ├── jquery-1.5.1.min.js
│ │ │ │ ├── jquery-1.5.1-vsdoc.js
│ │ │ │ ├── jquery-ui-1.8.11.js
│ │ │ │ ├── jquery-ui-1.8.11.min.js
│ │ │ │ ├── jquery.unobtrusive-ajax.js
│ │ │ │ ├── jquery.unobtrusive-ajax.min.js
│ │ │ │ ├── jquery.validate.js
│ │ │ │ ├── jquery.validate.min.js
│ │ │ │ ├── jquery.validate.unobtrusive.js
│ │ │ │ ├── jquery.validate.unobtrusive.min.js
│ │ │ │ ├── jquery.validate-vsdoc.js
│ │ │ │ ├── MicrosoftAjax.debug.js
│ │ │ │ ├── MicrosoftAjax.js
│ │ │ │ ├── MicrosoftMvcAjax.debug.js
│ │ │ │ ├── MicrosoftMvcAjax.js
│ │ │ │ ├── MicrosoftMvcValidation.debug.js
│ │ │ │ ├── MicrosoftMvcValidation.js
│ │ │ │ ├── modernizr-1.7.js
│ │ │ │ └── modernizr-1.7.min.js
│ │ │ ├── trace.log
│ │ │ ├── VideoMall.csproj
│ │ │ ├── VideoMall.csproj.user
│ │ │ ├── Views
│ │ │ │ ├── Account
│ │ │ │ │ └── SignIn.cshtml
│ │ │ │ ├── Orders
│ │ │ │ │ ├── CheckOut.cshtml
│ │ │ │ │ └── ShoppingCart.cshtml
│ │ │ │ ├── Products
│ │ │ │ │ ├── Index.cshtml
│ │ │ │ │ └── Product.cshtml
│ │ │ │ ├── Shared
│ │ │ │ │ ├── Error.cshtml
│ │ │ │ │ ├── _Layout4Login.cshtml
│ │ │ │ │ └── _Layout.cshtml
│ │ │ │ ├── _ViewStart.cshtml
│ │ │ │ └── Web.config
│ │ │ ├── Web.config
│ │ │ ├── Web.Debug.config
│ │ │ └── Web.Release.config
│ │ ├── VideoMall.sln
│ │ └── VideoMall.suo
│ ├── Chapter 2
│ │ ├── S201
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Client.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Client.pdb
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.manifest
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ └── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Client.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.pdb
│ │ │ │ │ ├── Client.csproj.FileListAbsolute.txt
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.exe
│ │ │ │ │ ├── Artech.WcfServices.Service.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ │ ├── Artech.WcfServices.Service.pdb
│ │ │ │ │ ├── Artech.WcfServices.Service.vshost.exe
│ │ │ │ │ ├── Artech.WcfServices.Service.vshost.exe.config
│ │ │ │ │ └── Artech.WcfServices.Service.vshost.exe.manifest
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.exe
│ │ │ │ │ ├── Artech.WcfServices.Service.pdb
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ ├── Service.csproj.FileListAbsolute.txt
│ │ │ │ │ ├── Service.csprojResolveAssemblyReference.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ └── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ ├── Service.Interface.csproj.FileListAbsolute.txt
│ │ │ │ │ ├── Service.Interface.csprojResolveAssemblyReference.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S202
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Client.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Client.pdb
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.manifest
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ └── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Client.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.pdb
│ │ │ │ │ ├── Client.csproj.FileListAbsolute.txt
│ │ │ │ │ ├── Client.csprojResolveAssemblyReference.cache
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.exe
│ │ │ │ │ ├── Artech.WcfServices.Service.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ │ └── Artech.WcfServices.Service.pdb
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.exe
│ │ │ │ │ ├── Artech.WcfServices.Service.pdb
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ ├── Service.csproj.FileListAbsolute.txt
│ │ │ │ │ ├── Service.csprojResolveAssemblyReference.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ └── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.dll
│ │ │ │ │ ├── Artech.WcfServices.Service.Interface.pdb
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ ├── Service.Interface.csproj.FileListAbsolute.txt
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S203
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Artech.WcfServices.Client.exe.config
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe
│ │ │ │ │ ├── Artech.WcfServices.Client.vshost.exe.config
│ │ │ │ │ └── Artech.WcfServices.Client.vshost.exe.manifest
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── obj
│ │ │ │ │ └── x86
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── Client.csproj.FileListAbsolute.txt
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── bin
│ │ │ │ │ └── Debug
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── obj
│ │ │ │ │ └── Debug
│ │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ │ │ └── TempPE
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S204
│ │ │ └── WcfServices
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S205
│ │ │ ├── tcpTrace.exe
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S206
│ │ │ ├── tcpTrace.exe
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S207
│ │ │ ├── tcpTrace.exe
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S208
│ │ └── WcfServices
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 3
│ │ ├── S301
│ │ │ └── MessagingViaBinding
│ │ │ ├── MessagingViaBinding.sln
│ │ │ ├── MessagingViaBinding.suo
│ │ │ ├── Receiver
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Receiver.csproj
│ │ │ └── Sender
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Sender.csproj
│ │ ├── S302
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── Extensions
│ │ │ │ │ ├── Extensions.cs
│ │ │ │ │ ├── SimpleChannelBase.cs
│ │ │ │ │ ├── SimpleChannelFactoryBase.cs
│ │ │ │ │ ├── SimpleChannelListenerBase.cs
│ │ │ │ │ ├── SimpleDatagramBinding.cs
│ │ │ │ │ ├── SimpleDatagramBindingElement.cs
│ │ │ │ │ ├── SimpleDatagramChannelFactory.cs
│ │ │ │ │ ├── SimpleDatagramChannelListener.cs
│ │ │ │ │ ├── SimpleDuplexSessionChannel.cs
│ │ │ │ │ ├── SimpleReplyChannel.cs
│ │ │ │ │ ├── SimpleRequestChannel.cs
│ │ │ │ │ ├── SimpleSessionBindingElement.cs
│ │ │ │ │ ├── SimpleSessionChannelFactory.cs
│ │ │ │ │ └── SimpleSessionChannelListener.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S303
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ └── Service.csproj.user
│ │ │ ├── Service.Interface
│ │ │ │ ├── Extensions
│ │ │ │ │ ├── Extensions.cs
│ │ │ │ │ ├── SimpleChannelBase.cs
│ │ │ │ │ ├── SimpleChannelFactoryBase.cs
│ │ │ │ │ ├── SimpleChannelListenerBase.cs
│ │ │ │ │ ├── SimpleDatagramBinding.cs
│ │ │ │ │ ├── SimpleDatagramBindingElement.cs
│ │ │ │ │ ├── SimpleDatagramChannelFactory.cs
│ │ │ │ │ ├── SimpleDatagramChannelListener.cs
│ │ │ │ │ ├── SimpleDuplexSessionChannel.cs
│ │ │ │ │ ├── SimpleReplyChannel.cs
│ │ │ │ │ ├── SimpleRequestChannel.cs
│ │ │ │ │ ├── SimpleSessionBinding.cs
│ │ │ │ │ ├── SimpleSessionBindingElement.cs
│ │ │ │ │ ├── SimpleSessionChannelFactory.cs
│ │ │ │ │ └── SimpleSessionChannelListener.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S304
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── Extensions
│ │ │ │ ├── Extensions.cs
│ │ │ │ ├── SimpleChannelBase.cs
│ │ │ │ ├── SimpleChannelFactoryBase.cs
│ │ │ │ ├── SimpleChannelListenerBase.cs
│ │ │ │ ├── SimpleDatagramBinding.cs
│ │ │ │ ├── SimpleDatagramBindingElement.cs
│ │ │ │ ├── SimpleDatagramChannelFactory.cs
│ │ │ │ ├── SimpleDatagramChannelListener.cs
│ │ │ │ ├── SimpleDuplexSessionChannel.cs
│ │ │ │ ├── SimpleReplyChannel.cs
│ │ │ │ ├── SimpleRequestChannel.cs
│ │ │ │ ├── SimpleSessionBinding.cs
│ │ │ │ ├── SimpleSessionBindingElement.cs
│ │ │ │ ├── SimpleSessionBindingElementExtensionElement.cs
│ │ │ │ ├── SimpleSessionChannelFactory.cs
│ │ │ │ └── SimpleSessionChannelListener.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.Interface.csproj
│ │ │ └── Service.Interface.csproj.user
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 4
│ │ ├── S401
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── EventLogService.cs
│ │ │ │ ├── InstrumentationService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── IEventLog.cs
│ │ │ │ ├── IInstrumentation.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S402
│ │ │ └── MessageSchemaViaMessageDescription
│ │ │ ├── MessageSchemaViaMessageDescription
│ │ │ │ ├── MessageSchemaViaMessageDescription.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── MessageSchemaViaMessageDescription.sln
│ │ │ └── MessageSchemaViaMessageDescription.suo
│ │ ├── S403
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── CalculatorCallbackService.cs
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculatorCallback.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S404
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── CalculatorCallbackService.cs
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculatorCallback.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S405
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── CalculatorCallbackService.cs
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculatorCallback.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S406
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── CalculatorCallbackService.cs
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculatorCallback.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S407
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Client.csproj.user
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service References
│ │ │ └── ServiceReferences
│ │ │ ├── configuration91.svcinfo
│ │ │ ├── configuration.svcinfo
│ │ │ ├── FileReaderService.wsdl
│ │ │ ├── mex1.xsd
│ │ │ ├── mex.wsdl
│ │ │ ├── mex.xsd
│ │ │ ├── Reference.cs
│ │ │ └── Reference.svcmap
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── FileReaderService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── IFileReader.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.Interface.csproj
│ │ │ └── Service.Interface.csproj.user
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 5
│ │ ├── S501
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S502
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S503
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S504
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S505
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S506
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S507
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S508
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S509
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S510
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Bill.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S511
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S512
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S513
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S514
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S515
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S516
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S517
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S518
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S519
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ ├── S520
│ │ │ └── Serialization
│ │ │ ├── Serialization
│ │ │ │ ├── ContractSurrogate.cs
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Serialization.csproj
│ │ │ ├── Serialization.sln
│ │ │ └── Serialization.suo
│ │ └── S521
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service References
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── MessengerService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── CompressionAlgorithm.cs
│ │ │ ├── CompressionMessageFormatter.cs
│ │ │ ├── Constants.cs
│ │ │ ├── DataCompressor.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── IMessenger.cs
│ │ │ ├── MessageCompressionBehavior.cs
│ │ │ ├── MessageCompressionBehaviorElement.cs
│ │ │ ├── MessageCompressor.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.Interface.csproj
│ │ │ └── Service.Interface.csproj.user
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 6
│ │ ├── S601
│ │ │ └── CreateMessage
│ │ │ ├── CreateMessage
│ │ │ │ ├── CreateMessage.csproj
│ │ │ │ ├── CreateMessage.csproj.user
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CreateMessage.sln
│ │ │ └── CreateMessage.suo
│ │ ├── S602
│ │ │ └── CreateMessage
│ │ │ ├── CreateMessage
│ │ │ │ ├── CreateMessage.csproj
│ │ │ │ ├── CreateMessage.csproj.user
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CreateMessage.sln
│ │ │ └── CreateMessage.suo
│ │ ├── S603
│ │ │ └── CreateMessage
│ │ │ ├── CreateMessage
│ │ │ │ ├── CreateMessage.csproj
│ │ │ │ ├── CreateMessage.csproj.user
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CreateMessage.sln
│ │ │ └── CreateMessage.suo
│ │ ├── S604
│ │ │ └── CreateMessage
│ │ │ ├── CreateMessage
│ │ │ │ ├── CreateMessage.csproj
│ │ │ │ ├── CreateMessage.csproj.user
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── XmlReaderBodyWriter.cs
│ │ │ ├── CreateMessage.sln
│ │ │ └── CreateMessage.suo
│ │ ├── S605
│ │ │ └── CreateMessage
│ │ │ ├── CreateMessage
│ │ │ │ ├── CreateMessage.csproj
│ │ │ │ ├── CreateMessage.csproj.user
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CreateMessage.sln
│ │ │ └── CreateMessage.suo
│ │ ├── S606
│ │ │ └── CreateMessage
│ │ │ ├── CreateMessage
│ │ │ │ ├── CreateMessage.csproj
│ │ │ │ ├── CreateMessage.csproj.user
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CreateMessage.sln
│ │ │ └── CreateMessage.suo
│ │ ├── S607
│ │ │ └── ReadMessage
│ │ │ ├── ReadMessage
│ │ │ │ ├── Customer.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── ReadMessage.csproj
│ │ │ ├── ReadMessage.sln
│ │ │ └── ReadMessage.suo
│ │ ├── S608
│ │ │ └── CopyMessage
│ │ │ ├── CopyMessage
│ │ │ │ ├── CopyMessage.csproj
│ │ │ │ ├── Order.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CopyMessage.sln
│ │ │ └── CopyMessage.suo
│ │ ├── S609
│ │ │ └── SetMessageHeaders
│ │ │ ├── SetMessageHeaders
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── SetMessageHeaders.csproj
│ │ │ │ └── SetMessageHeaders.csproj.user
│ │ │ ├── SetMessageHeaders.sln
│ │ │ └── SetMessageHeaders.suo
│ │ ├── S610
│ │ │ └── SetMessageHeaders
│ │ │ ├── SetMessageHeaders
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── SetMessageHeaders.csproj
│ │ │ │ └── SetMessageHeaders.csproj.user
│ │ │ ├── SetMessageHeaders.sln
│ │ │ └── SetMessageHeaders.suo
│ │ ├── S611
│ │ │ ├── tcpTrace.exe
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S612
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ApplicationContext.cs
│ │ │ │ ├── ApplicationContextScope.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.Interface.csproj
│ │ │ │ └── Service.Interface.csproj.user
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S613
│ │ │ └── MessageContract2Message
│ │ │ ├── MessageContract2Message
│ │ │ │ ├── Employee.cs
│ │ │ │ ├── MessageContract2Message.csproj
│ │ │ │ ├── MessageContract2Message.csproj.user
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── MessageContract2Message.sln
│ │ │ └── MessageContract2Message.suo
│ │ ├── S614
│ │ │ └── MessageContractOperation
│ │ │ ├── MessageContractOperation
│ │ │ │ ├── Employee.cs
│ │ │ │ ├── MessageContractOperation.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── MessageContractOperation.sln
│ │ │ └── MessageContractOperation.suo
│ │ ├── S615
│ │ │ └── XmlDictionaryUsage
│ │ │ ├── XmlDictionaryUsage
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── XmlDictionaryUsage.csproj
│ │ │ │ └── XmlDictionaryUsage.csproj.user
│ │ │ ├── XmlDictionaryUsage.sln
│ │ │ └── XmlDictionaryUsage.suo
│ │ ├── S616
│ │ │ └── XmlEncoding
│ │ │ ├── XmlEncoding
│ │ │ │ ├── Employee.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── XmlEncoding.csproj
│ │ │ ├── XmlEncoding.sln
│ │ │ └── XmlEncoding.suo
│ │ ├── S617
│ │ │ └── XmlEncoding
│ │ │ ├── XmlEncoding
│ │ │ │ ├── Employee.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── XmlEncoding.csproj
│ │ │ ├── XmlEncoding.sln
│ │ │ └── XmlEncoding.suo
│ │ ├── S618
│ │ │ └── XmlEncoding
│ │ │ ├── XmlEncoding
│ │ │ │ ├── Employee.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── XmlEncoding.csproj
│ │ │ ├── XmlEncoding.sln
│ │ │ └── XmlEncoding.suo
│ │ ├── S619
│ │ │ └── XmlEncoding
│ │ │ ├── XmlEncoding
│ │ │ │ ├── Employee.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── XmlEncoding.csproj
│ │ │ ├── XmlEncoding.sln
│ │ │ └── XmlEncoding.suo
│ │ └── S620
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service References
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── MessengerService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── CompressionAlgorithm.cs
│ │ │ ├── CompressionMessageEncoder.cs
│ │ │ ├── CompressionMessageEncoderFactory.cs
│ │ │ ├── CompressionTextEncodingElement.cs
│ │ │ ├── CompressionTextMessageEncodingBindingElement .cs
│ │ │ ├── Constants.cs
│ │ │ ├── DataCompressor.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── IMessenger.cs
│ │ │ ├── MessageCompressor.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.Interface.csproj
│ │ │ └── Service.Interface.csproj.user
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── Chapter 7
│ │ ├── S701
│ │ │ └── CreateServiceDescription
│ │ │ ├── CreateServiceDescription
│ │ │ │ ├── app.config
│ │ │ │ ├── Behaviors.cs
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── ConfigLoader.cs
│ │ │ │ ├── CreateServiceDescription.csproj
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── CreateServiceDescription.sln
│ │ │ └── CreateServiceDescription.suo
│ │ ├── S702
│ │ │ └── BatchingHosting
│ │ │ ├── BatchingHosting
│ │ │ │ ├── App.config
│ │ │ │ ├── AssemblyQualifiedTypeNameConverter.cs
│ │ │ │ ├── BatchingHosting.csproj
│ │ │ │ ├── BatchingHostingSettings.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── ServiceHostCollection.cs
│ │ │ │ └── Services.cs
│ │ │ ├── BatchingHosting.sln
│ │ │ └── BatchingHosting.suo
│ │ ├── S703
│ │ │ └── CustomServiceHost
│ │ │ ├── CustomServiceHost
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── CustomServiceHost.csproj
│ │ │ │ ├── MexServiceHost.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── CustomServiceHost.sln
│ │ │ └── CustomServiceHost.suo
│ │ ├── S704
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── CalculatorService.svc
│ │ │ │ ├── MexServiceHost.cs
│ │ │ │ ├── MexServiceHostFactory.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ └── Web.config
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S705
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── TraceService.cs
│ │ │ ├── Service
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── CalculatorService.svc
│ │ │ │ ├── Global.asax
│ │ │ │ ├── Global.asax.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── RemoteTraceListener.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ ├── Service.csproj.user
│ │ │ │ └── Web.config
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── ITrace.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S706
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── TraceService.cs
│ │ │ ├── Service
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── CalculatorService.svc
│ │ │ │ ├── Global.asax
│ │ │ │ ├── Global.asax.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── RemoteTraceListener.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ ├── Service.csproj.user
│ │ │ │ └── Web.config
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── ITrace.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S707
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── app.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── CalculatorService.svc
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ ├── Service.csproj.user
│ │ │ │ └── Web.config
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S708
│ │ └── ServiceHosting
│ │ ├── ServiceHosting
│ │ │ ├── App.config
│ │ │ ├── AssemblyQualifiedTypeNameConverter.cs
│ │ │ ├── BatchingHostingSettings.cs
│ │ │ ├── HostingService.cs
│ │ │ ├── HostingService.Designer.cs
│ │ │ ├── Program.cs
│ │ │ ├── ProjectInstaller.cs
│ │ │ ├── ProjectInstaller.Designer.cs
│ │ │ ├── ProjectInstaller.resx
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ServiceHostCollection.cs
│ │ │ ├── ServiceHosting.csproj
│ │ │ └── Services.cs
│ │ ├── ServiceHosting.sln
│ │ └── ServiceHosting.suo
│ ├── Chapter 8
│ │ ├── S801
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── ServiceChannelProxy.cs
│ │ │ │ └── ServiceProxyFactory.cs
│ │ │ ├── Service
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Global.asax
│ │ │ │ ├── Global.asax.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── RouteMapping.cs
│ │ │ │ ├── Service.csproj
│ │ │ │ ├── Service.csproj.user
│ │ │ │ ├── WcfHandler.cs
│ │ │ │ ├── WcfHttpModule.cs
│ │ │ │ ├── Web.config
│ │ │ │ ├── Web.Debug.config
│ │ │ │ └── Web.Release.config
│ │ │ ├── Service.Interface
│ │ │ │ ├── ComponentBuilder.cs
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S802
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S803
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S804
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S805
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S806
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S807
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── CalculatorClient.cs
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S808
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S809
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ ├── S810
│ │ │ └── WcfServices
│ │ │ ├── Client
│ │ │ │ ├── App.config
│ │ │ │ ├── ChannelFactories.cs
│ │ │ │ ├── Client.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ ├── ServiceProxy.cs
│ │ │ │ └── Service References
│ │ │ ├── Service
│ │ │ │ ├── app.config
│ │ │ │ ├── CalculatorService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.csproj
│ │ │ ├── Service.Interface
│ │ │ │ ├── ICalculator.cs
│ │ │ │ ├── Properties
│ │ │ │ │ └── AssemblyInfo.cs
│ │ │ │ └── Service.Interface.csproj
│ │ │ ├── WcfServices.sln
│ │ │ └── WcfServices.suo
│ │ └── S811
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── CalculatorServiceProxy.cs
│ │ │ ├── ChannelFactories.cs
│ │ │ ├── Client.csproj
│ │ │ ├── OperationInvoker~1.cs
│ │ │ ├── OperationInvoker.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ServiceProxyBase.cs
│ │ │ └── Service References
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── Chapter 9
│ ├── S901
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S902
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── PerCallAttribute.cs
│ │ │ ├── PerCallInstanceContextProvider.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S903
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S904
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ ├── SingletonCallAttribute.cs
│ │ │ └── SingletonInstanceContextProvider.cs
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S905
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S906
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S907
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S908
│ │ └── WcfServices
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S909
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── app.config
│ │ ├── CalculatorService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── ICalculator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
└── 下册
├── Chapter 1
│ ├── S101
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S102
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S103
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S104
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── CalculaltionError.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S105
│ └── EntLibIntegration
│ ├── Client
│ │ ├── app.config
│ │ ├── Client.csproj
│ │ ├── ErrorReportingHandler.cs
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── EntLib
│ │ ├── Microsoft.Practices.EnterpriseLibrary.Common.dll
│ │ ├── Microsoft.Practices.EnterpriseLibrary.Common.xml
│ │ ├── Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll
│ │ ├── Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.xml
│ │ ├── Microsoft.Practices.ObjectBuilder2.dll
│ │ └── Microsoft.Practices.Unity.dll
│ ├── EntLibIntegration.sln
│ ├── EntLibIntegration.suo
│ ├── Lib
│ │ ├── ExceptionHandlingBehaviorAttribute.cs
│ │ ├── ExceptionHandlingBehaviorElement.cs
│ │ ├── ExceptionHelper.cs
│ │ ├── Lib.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── ServiceErrorHandler.cs
│ │ └── ServiceExceptionDetail.cs
│ ├── Service
│ │ ├── app.config
│ │ ├── CalculatorService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.csproj
│ └── Service.Interface
│ ├── CalculationException.cs
│ ├── ICalculator.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Service.Interface.csproj
├── Chapter 10
│ ├── S1001
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Hosting
│ │ │ ├── App.config
│ │ │ ├── Hosting.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ ├── Services.cs
│ │ │ └── Web.config
│ │ ├── Service.Interface
│ │ │ ├── Contracts.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S1002
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S1003
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S1004
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S1005
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── CalculatorService.cs
│ │ ├── DiscoveryAsyncResult.cs
│ │ ├── DiscoveryProxyService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── ICalculator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── Chapter 2
│ ├── S201
│ │ └── MetadataExporting
│ │ ├── MetadataExporting
│ │ │ ├── IOrderService.cs
│ │ │ ├── MetadataExporting.csproj
│ │ │ ├── Order.cs
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── MetadataExporting.sln
│ │ └── MetadataExporting.suo
│ ├── S202
│ │ └── ServiceMetadataBehaviorSimulator
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Lib
│ │ │ ├── IMetadataProvisionService.cs
│ │ │ ├── Lib.csproj
│ │ │ ├── MetadataMessage.cs
│ │ │ ├── MetadataProvisionService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ServiceMetadataBehaviorAttribute.cs
│ │ │ └── Utilitycs.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── ServiceMetadataBehaviorSimulator.sln
│ │ └── ServiceMetadataBehaviorSimulator.suo
│ ├── S203
│ │ └── ServiceMetadataBehaviorSimulator
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Lib
│ │ │ ├── IHttpGetMetadata.cs
│ │ │ ├── IMetadataProvisionService.cs
│ │ │ ├── Lib.csproj
│ │ │ ├── MetadataMessage.cs
│ │ │ ├── MetadataProvisionService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ServiceMetadataBehaviorAttribute.cs
│ │ │ └── Utilitycs.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── ServiceMetadataBehaviorSimulator.sln
│ │ └── ServiceMetadataBehaviorSimulator.suo
│ ├── S204
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S205
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Client.csproj.user
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ └── Service.csproj.user
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S206
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Client.csproj.user
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ └── Service.csproj.user
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S207
│ └── WcfServices
│ ├── Client
│ │ ├── app.config
│ │ ├── Client.csproj
│ │ ├── Client.csproj.user
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── CalculatorService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service.csproj
│ │ └── Service.csproj.user
│ ├── Service.Interface
│ │ ├── ICalculator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── Chapter 3
│ ├── S301
│ │ └── BankingService
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Client.csproj.user
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── P_DEPOSIT.sql
│ │ ├── P_WITHDRAW.sql
│ │ ├── Service
│ │ │ ├── BankingService.cs
│ │ │ ├── BankingService.svc
│ │ │ ├── DbAccessUtil.cs
│ │ │ ├── DbHelper.cs
│ │ │ ├── DepositService.cs
│ │ │ ├── DepositService.svc
│ │ │ ├── Guard.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ ├── Service.csproj.user
│ │ │ ├── Web.Bar.config
│ │ │ ├── Web.Foo.config
│ │ │ ├── WithdrawService.cs
│ │ │ └── WithdrawService.svc
│ │ ├── Service.Interface
│ │ │ ├── Guard.cs
│ │ │ ├── IBankingService.cs
│ │ │ ├── IDepositService.cs
│ │ │ ├── IWithdrawService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.Interface.csproj
│ │ │ ├── Service.Interface.csproj.user
│ │ │ └── ServiceInvoker.cs
│ │ ├── T_ACCOUNT.sql
│ │ ├── TransactionalService.gpState
│ │ ├── TransactionalService.sln
│ │ └── TransactionalService.suo
│ ├── S302
│ │ └── BankingService
│ │ ├── Client
│ │ │ ├── app.config
│ │ │ ├── Client.csproj
│ │ │ ├── Client.csproj.user
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── P_DEPOSIT.sql
│ │ ├── P_WITHDRAW.sql
│ │ ├── Service
│ │ │ ├── BankingService.cs
│ │ │ ├── BankingService.svc
│ │ │ ├── DbAccessUtil.cs
│ │ │ ├── DbHelper.cs
│ │ │ ├── DepositService.cs
│ │ │ ├── DepositService.svc
│ │ │ ├── Guard.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ ├── Service.csproj.user
│ │ │ ├── Web.Bar.config
│ │ │ ├── Web.Foo.config
│ │ │ ├── WithdrawService.cs
│ │ │ └── WithdrawService.svc
│ │ ├── Service.Interface
│ │ │ ├── Guard.cs
│ │ │ ├── IBankingService.cs
│ │ │ ├── IDepositService.cs
│ │ │ ├── IWithdrawService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.Interface.csproj
│ │ │ ├── Service.Interface.csproj.user
│ │ │ └── ServiceInvoker.cs
│ │ ├── T_ACCOUNT.sql
│ │ ├── TransactionalService.gpState
│ │ ├── TransactionalService.sln
│ │ └── TransactionalService.suo
│ └── S303
│ └── TransactionalMessageGenerator
│ ├── TransactionalMessageGenerator
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RefUtil.cs
│ │ ├── TransactionalMessageGenerator.csproj
│ │ └── TransactionalMessageGenerator.csproj.user
│ ├── TransactionalMessageGenerator.sln
│ └── TransactionalMessageGenerator.suo
├── Chapter 4
│ ├── S401
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── EventMonitor.cs
│ │ │ ├── EventType.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S402
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── EventMonitor.cs
│ │ │ ├── EventType.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S403
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── EventMonitor.cs
│ │ │ ├── EventType.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S404
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── EventMonitor.cs
│ │ │ ├── EventType.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S405
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── CalculatorCallbackService .cs
│ │ │ ├── Client.csproj
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorCallbackService.cs
│ │ │ ├── CalculatorService .cs
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── EventMonitor.cs
│ │ │ ├── EventType.cs
│ │ │ ├── ICalculatorCallback.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S406
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── CalculatorCallbackService .cs
│ │ │ ├── Client.csproj
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorCallbackService.cs
│ │ │ ├── CalculatorService .cs
│ │ │ ├── MonitorForm.cs
│ │ │ ├── MonitorForm.Designer.cs
│ │ │ ├── MonitorForm.resx
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── EventMonitor.cs
│ │ │ ├── EventType.cs
│ │ │ ├── ICalculatorCallback.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S407
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── CalculatorCallbackService .cs
│ │ ├── Client.csproj
│ │ ├── MonitorForm.cs
│ │ ├── MonitorForm.Designer.cs
│ │ ├── MonitorForm.resx
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── CalculatorService .cs
│ │ ├── MonitorForm.cs
│ │ ├── MonitorForm.Designer.cs
│ │ ├── MonitorForm.resx
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── EventMonitor.cs
│ │ ├── EventType.cs
│ │ ├── ICalculatorCallback.cs
│ │ ├── ICalculator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── Chapter 5
│ └── S501
│ └── ImageTransfer
│ ├── Client
│ │ ├── app.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── Sender.cs
│ │ ├── Sender.Designer.cs
│ │ └── Sender.resx
│ ├── Extensions
│ │ ├── Extensions.csproj
│ │ ├── MessageInspector.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── UnreliableNetworkSimulateBindingElement.cs
│ │ ├── UnreliableNetworkSimulateChannel.cs
│ │ ├── UnreliableNetworkSimulateChannelFactory.cs
│ │ └── UnreliableNetworkSimulateExtensionElement.cs
│ ├── ImageTransfer.sln
│ ├── ImageTransfer.suo
│ ├── Service
│ │ ├── app.config
│ │ ├── ImageAssembler.cs
│ │ ├── ImageTransferService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── Recevier.cs
│ │ ├── Recevier.Designer.cs
│ │ ├── Recevier.resx
│ │ └── Service.csproj
│ └── Service.Interface
│ ├── Class1.cs
│ ├── IImageTransfer.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Service.Interface.csproj
├── Chapter 6
│ ├── S601
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── Extensions.cs
│ │ │ ├── GreetingService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── IGreeting.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S602
│ │ └── Message4SessionfulService
│ │ ├── Message4SessionfulService
│ │ │ ├── App.config
│ │ │ ├── IGreeting.cs
│ │ │ ├── Message4SessionfulService.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Message4SessionfulService.sln
│ │ └── Message4SessionfulService.suo
│ ├── S603
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── GreetingService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── IGreeting.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S604
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── GreetingService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── IGreeting.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S605
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── GreetingService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── IGreeting.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S606
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── Extensions.cs
│ │ ├── GreetingService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── IGreeting.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── Chapter 7
│ ├── S701
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Hosting
│ │ │ ├── App.config
│ │ │ ├── Hosting.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S702
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Hosting
│ │ │ ├── App.config
│ │ │ ├── Hosting.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S703
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Hosting
│ │ │ ├── App.config
│ │ │ ├── Hosting.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S704
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Hosting
│ │ │ ├── App.config
│ │ │ ├── Hosting.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S705
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── CalculatorService.cs
│ │ │ ├── CalculatorService.svc
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ └── Web.config
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S706
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S707
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── app.config
│ │ │ ├── CalculatorService.cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ └── SimpleUserNamePasswordValidator.cs
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S708
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── app.config
│ │ ├── CalculatorService.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service.csproj
│ │ └── SimpleUserNamePasswordValidator.cs
│ ├── Service.Interface
│ │ ├── ICalculator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── Chapter 8
│ ├── S801
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S802
│ │ └── ImpersonationDemo
│ │ ├── ImpersonationDemo
│ │ │ ├── ImpersonationDemo.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── ImpersonationDemo.sln
│ │ └── ImpersonationDemo.suo
│ ├── S803
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── Class1.cs
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S804
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S805
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── AspRoleAuthorizationCallContextInitializer.cs
│ │ │ ├── AuthorizationCallContextInitializerBase.cs
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ServiceAuthorizationBehaviorAttribute.cs
│ │ │ ├── Service.csproj
│ │ │ └── WindowsAuthorizationCallContextInitializer.cs
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S806
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Service.csproj
│ │ │ ├── SimpleAuthorizationPolicy .cs
│ │ │ └── SimpleServiceAuthorizationManager.cs
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S807
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ ├── S808
│ │ └── WcfServices
│ │ ├── Client
│ │ │ ├── App.config
│ │ │ ├── Client.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Service
│ │ │ ├── App.config
│ │ │ ├── CalculatorService .cs
│ │ │ ├── Program.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.csproj
│ │ ├── Service.Interface
│ │ │ ├── ICalculator.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Service.Interface.csproj
│ │ ├── WcfServices.sln
│ │ └── WcfServices.suo
│ └── S809
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── CalculatorService .cs
│ │ ├── MyServiceAuthorizationManager.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── ICalculator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
└── Chapter 9
├── S901
│ └── WcfServices
│ ├── Client
│ │ ├── App.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Resources.zh-CN.Designer.cs
│ │ │ └── Resources.zh-CN.resx
│ │ ├── ResourceService .cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── CultureMessageHeaderInfo.cs
│ │ ├── CulturePropagationBehaviorAttribute.cs
│ │ ├── CulturePropagationBehaviorElement.cs
│ │ ├── CultureReceiver.cs
│ │ ├── CultureSender.cs
│ │ ├── IResourceService.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── S902
│ └── WcfServices
│ ├── Client
│ │ ├── app.config
│ │ ├── Client.csproj
│ │ ├── Program.cs
│ │ └── Properties
│ │ └── AssemblyInfo.cs
│ ├── Service
│ │ ├── App.config
│ │ ├── CulturePropagationServiceHost .cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Resources.zh-CN.Designer.cs
│ │ │ └── Resources.zh-CN.resx
│ │ ├── ResourceService .cs
│ │ └── Service.csproj
│ ├── Service.Interface
│ │ ├── CultureMessageHeaderInfo.cs
│ │ ├── CulturePropagationBehaviorAttribute.cs
│ │ ├── CulturePropagationBehaviorElement.cs
│ │ ├── CultureReceiver.cs
│ │ ├── CultureSender.cs
│ │ ├── IResourceService.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Service.Interface.csproj
│ ├── WcfServices.sln
│ └── WcfServices.suo
├── S903
│ └── UnityDemo
│ ├── Lib
│ │ ├── Microsoft.Practices.Unity.Configuration.dll
│ │ └── Microsoft.Practices.Unity.dll
│ ├── UnityDemo
│ │ ├── App.config
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── UnityDemo.csproj
│ ├── UnityDemo.sln
│ └── UnityDemo.suo
└── S904
├── Lib
│ ├── Microsoft.Practices.Unity.Configuration.dll
│ └── Microsoft.Practices.Unity.dll
└── WcfServices
├── Client
│ ├── App.config
│ ├── Client.csproj
│ ├── Program.cs
│ └── Properties
│ └── AssemblyInfo.cs
├── Service
│ ├── IResourceProvider.cs
│ ├── Program.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Resources.zh-CN.Designer.cs
│ │ └── Resources.zh-CN.resx
│ ├── ResourceService .cs
│ ├── ResourceService.svc
│ ├── ResxFileProvider .cs
│ ├── Service.csproj
│ ├── UnityInstanceProvider.cs
│ ├── UnityServiceBehaviorAttribute.cs
│ ├── UnityServiceHost.cs
│ ├── UnityServiceHostFactory .cs
│ └── Web.config
├── Service.Interface
│ ├── CultureMessageHeaderInfo.cs
│ ├── CulturePropagationBehaviorAttribute.cs
│ ├── CulturePropagationBehaviorElement.cs
│ ├── CultureReceiver.cs
│ ├── CultureSender.cs
│ ├── IResourceService.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Service.Interface.csproj
├── WcfServices.sln
└── WcfServices.suo
1377 directories, 2632 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论