Friday, July 28, 2017

PluralSight WCF Library

PluralSight has a pretty robust collection of WCF related courses.  I decided it would be useful to index the concepts covered in the courses I watched (as part of putting together to 70-487 study guide).



The Miguel Castro courses (WCF End-to-End and WCF Power Topics) cover a lot of ground and are demo heavy.  Most of the concepts are demonstrated in code at least once.  Together they total something like 18 hours, though watching at 1.5x speed helps there.  They feel very up to date (they are only a year or two old), and overall an excellent resource.

WCF End-to-End (Miguel Castro, 2015)
  • Service Orientation and WCF
  • Contracts and Services  (Data and Service contracts)
  • Hosting and Service Configuration  (Self-hosting, Web hosting in IIS)
  • Proxies and Client Configuration  (ClientBase<T>, ChannelFactory)
  • In-Process and Threading  (NamedPipes, Synchronization Context)
  • Bindings and Behaviors  (Sessions, Timeout)
  • Metadata Exchange (MEX endpoint)
  • Instancing and Concurrency (per call, per session, single; single, multiple, reentrant)
  • Faults and Exceptions  (Unhandled vs FaultException)
  • Transaction Handling  (w/ Transaction Scope, OperationBehavior attrib)
  • Operations  (request-response, one-way, callback, async)
  • Securing Services  (Windows Auth, ASPNET Providers, x509 credentials)
  • Patterns of Implementation  (Layering, entities, DI)


WCF Power Topics (Miguel Castro, 2016)
  • Extending WCF with Custom Behaviors
  • Making Your Services Discoverable
  • Centralizing and Reusing Fault Handling
  • Working with the Azure Service Bus (message relaying)
  • WCF Routing Services  (content based, failover, broadcasting)
  • Leveraging HTTPS for WCF Using SSL  (transport security)
  • Long Running Processes  (progress checking and notification)
  • Versioning Your Services  (content based routing)
  • Fault Reporting for One-way Services  (callbacks)
  • Eventing and Pub/Sub with WCF   (callbacks, out of bound callbacks)


The Aaron Skonnar courses are quite a bit older (2008-09), but since WCF hasn't changed a whole lot in the interim, they are still relevant.  I watched them after watching the Miguel Castro courses, and I thought they still offered a lot of value, if nothing else to reinforce concepts and offer an alternative perspective.  They also feature a decent amount of demos, but I was also struck by how good some of the animations for concepts and execution flows were (particularly when explaining some of the multi-threading and dispatch concepts).  Excellent resources if you can spare the time, but if you had to pick one or the other, you get a broader, more practical, and more updated treatment with the Castro courses.

WCF Fundamentals (Aaron Skonnard, 2008)
  • Introducing WCF
    • SOA, REST, SOAP, etc.
    • services and endpoints
    • built-in bindings
  • Programming Services
    • service contracts
    • service hosting
    • binding config
    • service behavior
    • service metadata
  • Programming Clients
    • using svcutil.exe and service reference
    • channels and proxy
    • async invokations
    • sharing assemblies
  • RESTful Services
    • WebGet, WebInvoke attributes
    • syndication


WCF Advanced Topics (Aaron Skonnard, 2009)
  • Hosting
    • self-hosting
    • windows service
    • IIS hosting
    • Windows Process Activation Service (WAS)
  • Runtime Execution
    • Instancing - PerCall, PerSession, Single
    • ConcurrencyMode - Single, Mutlitple, Reentrant
    • throttling, durability
  • Extensibility
    • interceptors
    • behaviors
    • customizing ServiceHost, ChannelFactory

WCF Design Concepts
  • Serialization
    • XmlSerializer
    • DataContractSerializer
    • KnownType and ServiceKnownType
  • Service Contracts
    • import/export with SvcUtil.exe
    • one-way, duplex contracts
    • message contracts
    • generic contracts
  • Faults and Exceptions
    • FaultException
    • fault contracts
    • IErrorHandler
    • faulted channels
  • Security
    • protection level
    • transport and message security
    • impersonation
    • federation and claims
  • Reliability
    • reliable sessions
    • queue messaging
    • transactions
    • dead letter

No comments:

Post a Comment