WCF Client is Open Source
We’re excited to announce a new open source project on GitHub from the WCF team at Microsoft. This new version of WCF targets .NET Core and has been donated to the family of .NET Foundation open source projects.
Check out the WCF project for more details. The team is actively developing WCF in this repository, and they will review any issues and pull requests you wish to contribute. The wiki describes how to build and contribute to the project.
WCF targets the .NET Core framework which is designed to support multiple computer architectures and to run cross-platform. Right now the WCF project builds on Windows, but .NET Core offers the potential for it to run on OS X and Linux. The WCF team are working hard to make this a reality and to keep up to date as platform support for .NET Core grows, but if you want to help I know they would love contributions especially around improving and testing the platform support.
In this guest post from Ron Cain, he explains more about the new project and how to get started with the new, open source WCF and .NET Core.
-- Martin
What is in the new WCF GitHub repository
The WCF repository contains a subset of the full Windows Communication Foundation product available on the Windows desktop, and it supports the library profiles already available for building WCF apps for the Windows Store. These profiles are primarily client-based, making them suited for mobile devices or on mid-tier servers to communicate with existing WCF services. The corresponding Windows Store libraries now available in this repository are:
- ServiceModel.Primitives
- ServiceModel.Http
- ServiceModel.NetTcp
- ServiceModel.Duplex
- ServiceModel.Security
Features known to work
This project is under active development, but as we’ve learned from other projects we want WCF to become an open source project early in its lifecycle so that it has time to respond to community feedback before it is declared “done”. This means some areas are a work in progress and you will see them changing rapidly. Our team’s goal is to achieve feature parity with the existing Windows Store profiles first and then improve as feedback comes in. The following features are expected to work today:
Bindings:
Transport-level binding elements:
Message encoding binding elements:
Channel shapes
Miscellaneous:
- ChannelFactory<T>
- ClientBase<T>
- FaultContract, FaultException and FaultException<T>
- MessageContract
- DataContract serialization of simple and complex types
- XmlSerializer serialization of simple and complex types (XmlSerializerFormatAttribute)
- IClientMessageInspector
Known issues
Features that are available for Windows Store profiles but not fully enabled yet by WCF will throw a PlatformNotSupportedException today. Our team is actively working on these and expects to enable most of them soon. Checkout the WCF Issues to see how our team is prioritizing this work, and feel free to comment on the issues for the features most important to you. The features not yet enabled are:
- Duplex communication
- WebSockets
- SSL
- Message level security
- Digest or NTLM authentication
- Streamed transfer mode
- ETW tracing support
- TCP transport level security
Visual Studio 2015 RC and WCF
Microsoft released Visual Studio 2015 RC at the Build conference in April 2015, and it supports the ability to use WCF in both Universal Windows and ASP.NET 5 applications. The code used to build these WCF libraries used by VS 2015 RC was moved into this new GitHub repository, and the GitHub version will be the source used moving forward. By contributing to the WCF project you will be contributing directly to the WCF capabilities available to Universal Windows and ASP.NET 5 apps.
Ron Cain, Project Lead, WCF.