Welcome to the third release of WCF Web APIs on codeplex
Update: 01/15/20011 - Code / zip has been updated with a fix for IQueryable which was preventing the sample from working properly.
New Features - WCF HTTP
This drop does not contain any updates to the WcfJQuery MSI. For convenience the MSI from the previous drop ifrom 12/17/2919 is attached.
- New HttpClient API which replaces the REST Starter kit has been introduced. In addition to supporting strongly typed messages, the API supports async through Task<T>. It also has a pluggable channel stack for plugging in handlers for the request / response from the client side. See the QueryableSample for an example of the new channels.
- New extension methods for serializing / deserializing to/from HttpContent. Supports custom formats enabling hypermedia on the client.
- New RequestBuilder fluent API. Allows wrapping creating requests in a chained / fluent manner.
- Configuration has been redesigned. You can now programatically compose your config without requiring a derived configuration class. The new design uses an aggregate configuration object (Microsoft.ServiceModel.Description.HttpHostConfiguration) which is populated with various configuration strategies for configuring at the service, endpoint, contract or operation level. The new design also supports the old pattern of derving from HttpHostConfiguration and creating your own custom config. Look to Microsoft.ServiceModel.WebHttp.HttpHostConfiguration and to ContactManagerConfiguration in the ContactManager sample to see the changes.
- Support has been added for wiring up an IoC container through the new configuration API. See ContactManagerConfiguration in the ContactManager sample for an example of using this feature to wire up MEF.
- IQueryable is now supported with WebHttpServiceHost / WebHttpServiceHostFactory. In the previous drop you could not use the new model with processors, etc along with IQueryable.
- AddServiceRoute extension method now supports custom factories. If a custom factory implements IConfigurableServiceHostFactory it receives an HttpHostConfiguration object.
- HostConfiguration renamed to HttpHostConfiguration.
- Samples tested on IE, Firefox, Chrome
- ContactManager is updated to use MEF for creating services/resources and injecting their dependencies.
- QueryableSample now uses the new HttpClient. It also has been updated to support both Json and Xml serialization through selecting an option button. It also uses a custom
channel to log the response body.
Known Issues with WCF HTTP
- ContactManager sample does not work properly on Firefox
- Not tested with MVC3
- HTTPS and self-hosting does not work
- Automatic help pages do not work
Release quality gates
- The code builds.
- Public APIs are documented using XML comments, binary release includes intellisense comments. (Does not apply to protoypes)
- Unit tests are passing.
- Samples are running.
- Product components are compliant with Microsoft All Rules for FxCop. (Does not apply to prototypes)
- Product component and sample code is compliant with the included StyleCop rules.
- Binaries are signed.
- The installer installs and uninstalls cleanly.