The .NET Endpoint

Blog by the .NET and AppFabric teams about WCF and WF development, deployment, and management

Introducing WCF WebHttp Services in .NET 4

Introducing WCF WebHttp Services in .NET 4

Rate This
  • Comments 5

Over the next six weeks we are going to be releasing a series of blog posts that will focus on the new features in .NET 4 around WCF WebHttp Services

WCF WebHttp Services is the flavor of WCF that is most appropriate for developers who need complete control over the URI, format, and protocol when building non-SOAP HTTP services—services that may or may not subscribe to RESTful architectural constraints.  For the other technologies in the WCF services eco-system and the developer scenarios they best support, see here

For those of you who have used WCF 3.5 or the WCF REST Starter Kit to build non-SOAP services, you’ll find that WCF WebHttp Services is the vehicle that brings these technologies forward to .NET 4.  You’ll find the familiar programming model that uses [WebGet] and [WebInvoke] attributes to map an HTTP request to a WCF operation.  But you’ll also find a number of new features in WCF WebHttp Services that make it even easier to build operation-centric or RESTful web services over HTTP.

For those of you who are new to WCF or who have only used WCF for building SOAP-based services in the past, you’ll find that this series of blog posts will bring you up to speed quickly on everything you need to know to start building non-SOAP HTTP services in which you have complete control over the URI, format and protocol.      

To give you a sense of the features we will be covering in this series on WCF WebHttp Services in .NET 4, here is an index of the upcoming blog posts (we’ll update these links as the posts go public):

  1. Getting Started with WCF WebHttp Services in .NET 4
  2. Clients and the Automatic Help Page in WCF WebHttp Services
  3. Updating State in WCF WebHttp Services
  4. Automatic and Explicit Format Selection in WCF WebHttp Services
  5. Error Handling in WCF WebHttp Services with WebFaultException
  6. Using Routes to Compose WCF WebHttp Services
  7. Integrating ASP.NET Output Caching with WCF WebHttp Services
  8. Returning Custom Formats from WCF WebHttp Services
  9. Creating Views in WCF WebHttp Services with T4
  10. Conditional GET and ETag Support in WCF WebHttp Services
  11. Optimistic Concurrency Support in WCF WebHttp Services
  12. Guidance on Link Generation in WCF WebHttp Services  

We’re really excited about the new features introduced with WCF WebHttp Services in .NET 4 and we look forward to hearing your feedback in the comments to the blog posts.  Hope you find the upcoming blog post series both interesting and informative.

Randall Tombaugh
Developer, WCF WebHttp Services

  • This is a great series. Will HttpClient (currently part of WCF Rest Starter Kit Preview 2) become part of .Net 4?

  • @anavgale:  The HttpClient is not a part of .NET 4 but there is nothing to stop you from using it with .NET 4 code.

  • This is a great series and gave me a great jump start on building a WCF REST service.  I just wanted to post a few gotchas that I encountered when deploying to IIS 6.  These mostly pertain to using routes (no svc file) so if you're using a svc these may not apply.

    1.  If you use routes you won't have an extension so you need to use a wildcard application map.

    - IMPORTANT: Make sure you select the 4 version of the aspnet_isapi.dll

    - IMPORTANT: When setting up the wildcard, make sure the checkbox for "Verify that file exists" is unchecked.

    Instructions for setting up the wildcard mapping can be found here (thanks to Maarten Balliauw for the great article): http://www.codedigest.com/Articles/ASPNETMVC/216_Hosting_and_Deployment_of_an_ASPNET_MVC_Application_in_IIS6_and_IIS7.aspx

    3.  In IIS set ASP.NET 4 as the version to use: Property Page --> ASP>NET Tab --> Select 4.x for the ASP.NET Version.  If 4.xx isn't in the selection list, then you need to register ASP.NET 4 with IIS using aspnet_regiis.exe which should be at C:\WINDOWS\Microsoft.NET\Framework\v4.x in a default install.

    4.  In IIS locate the Web Service Extensions node in the tree view.  Make sure that ASP.NET v4.x has a status of Allowed.

    I hope this helps someone from going through the pain I did to get this working!

  • This series is really great. Waiting for the remaning 2 posts.

    In Web HTTP Service there is no request interceptors.

    I am doing the authentication in the request interceptor in .net 3.5 & WCF REST Starter kit. Now i upgraded to .net 4.0.

    Is there any way i can use the request interceptors or a better way for basic authentication in Web Http Service for doing it in a REST way.

    Thanks in advance,

    Pradeep

  • This series is great...when do you think posts 11 and 12 will be ready?

Page 1 of 1 (5 items)