Welcome to the Discovery Team’s Blog

This blog marks a first in a series to introduce you to what Discovery is all about. Cutting to the chase, the discovery functionality in .NET 4.0 provides means for making WCF services discoverable and for clients to locate such services. The technology is based on the WS-Discovery protocol, which is going through the standardization track at Oasis. This means that the WCF-Discovery functionality is interoperable with lots of other implementations.

There are a lot of benefits to using WCF-Discovery. With simple modifications to your client and service, you don’t need to hard code endpoints and as a result your services and clients become more robust. Clients don’t need to depend on configuration files for service locations, and admins don’t need to maintain such configuration information. Several problems associated with decoupling and distributed applications become much easier to solve with this technology. You can also have your service auto-configure itself; a service can find all the components it needs and be up and running without any effort.

We’ve made using discovery as easy as possible – there is extensive support for utilizing discovery through configuration and we also provide powerful programmatic tools so that you can leverage discovery to its full potential.

Through this blog, we’ll cover the depth of the WCF-Discovery functionality available to you such as: how to query for services, how to make services discoverable, how to use discovery through the asynchronous programming model, what the modes of operation for the protocol are, and how to build a Discovery Proxy service, to name a few topics.

The WCF-Discovery feature is now available as part of .NET 4.0 Beta1 release. You can download .NET 4.0 Beta1 and Visual Studio 2010 from http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx. The WCF-Discovery bits are part of System.ServiceModel.Discovery.dll assembly and are in System.ServiceModel.Discovery namespace.