Book Image

Microsoft Windows Communication Foundation 4.0 Cookbook for Developing SOA Applications

By : Juntao Cheng
Book Image

Microsoft Windows Communication Foundation 4.0 Cookbook for Developing SOA Applications

By: Juntao Cheng

Overview of this book

The Windows Communication Foundation 4.0 (WCF 4.0) is a .NET-based application programming interface for building and running connected systems. It enables secure and reliable communication among systems within an organization or across the Internet. This book deals with the difficult issues faced by a .NET developer while working with WCF.WCF 4.0 is a communications infrastructure that unifies a broad array of distributed systems' capabilities in a composable, extensible architecture that supports multiple transports, messaging patterns, encodings, network topologies, and hosting models. This book is a collection of focused real-world recipes and covers basic recipes on topics such as working with contracts to more advanced topics such as extending WCF runtime. By the end of this book you will have valuable information that helps transform the potentially unproductive habits of .Net developers who work with WCF.This book will take you through many concepts starting with complete support for contract-related design for WCF service development. You will learn to use WCF's built-in feature for building various service endpoints. Service hosting and configuration are important areas for building WCF services, especially at the service deployment stage, and are detailed in this book. You will find it easy to work with WCF client proxy generation and metadata publishing and discovery when you go through recipes such as customizing auto-generated service proxies.The author then discusses the exchange of data in WCF service operation features, related to WCF data serialization. You will discover some useful tips for security in WCF service development and built-in features for developing concurrency control for your services built upon it.One big plus is that you will learn to extend the existing WCF framework to achieve advanced functionality. You will find a dedicated chapter for RESTful and AJAX-enabled service development. Moving on, you will find several useful WCF service interoperability cases, which are important for a distributed service development platform. Towards the end of this book you will find some handy and useful diagnostic methods for troubleshooting.
Table of Contents (20 chapters)
Microsoft Windows Communication Foundation 4.0 Cookbook for Developing SOA Applications
Credits
Foreword
About the Author
About the Reviewers
Preface
Index

Building a self-hosted REST service


Since a REST-style WCF service provides an endpoint that is accessible through standard HTTP GET/POST requests, it is quite common and reasonable to host a REST service in an ASP.NET web application (via a .svc file). However, we can also use any .NET-managed application to host a WCF REST service out of an IIS server.

In this recipe, we will demonstrate how to use a console application to host a WCF REST service.

How to do it...

Creating a self-hosted REST service is quite similar to a standard WCF service, but with some minor differences. Let’s take a look at the detailed steps here:

  1. Define the ServiceContract for the REST service.

    The first thing to do is define a ServiceContract for our sample REST service. Here we will use a very typical interface as the ServiceContract of the sample REST service (see the following code snippet):

    [ServiceContract(Namespace=”WCF.REST”)]
    public interface IDataService
    {
       [OperationContract]
       [WebGet(ResponseFormat= WebMessageFormat...