WCF for .NET Core 1.0 RC2
Pre-releaseRelease notes
This is part of .NET Core 1.0 RC2 released 5/16/2016 (Release notes)
- Supported features
- Please refer to the table of Supported Features for a complete list of features that are supported by this release.
- Packages
- What's new?
- Performance and reliability improvements
- A number of improvements to memory footprint on Http, NetHttp and NetTcp bindings
- Improvements to scalability of asynchronous code paths
- Up to 3X performance improvement in HttpStreaming scenarios
- Significant performance improvement for the first call of a ServiceContract in scenarios where XmlSerializerFormatAttribute and ServiceKnownTypeAttribute are used
- Improved stability in various stress scenarios
- Increased support for HTTPS
- Added the bindings BasicHttpsBinding and NetHttpsBinding
- Added the binding element HttpsTransportBindingElement
- On Windows, a client certificate can be set on the channel factory credentials
- On Windows, a server certificate validation callback can be set on the channel factory credentials
- A client can now specify a client certificate for client authentication with the server or access a certificate provided to the client for validation.
- Added support of all supported TLS/SSL protocols. This brings WCF on .NET Core feature parity with full .NET Framework in the area.
- Added asynchronous support for SSL stream security for improved scalability.
- Added support of Windows stream security (WindowsStreamSecurity binding element) via NegotiateStream. On Windows, support is seamless like for WCF on full .NET Framework. For other OSes, support is available when using Kerberos authentication.
- Added support of MessageHeaderAttribute that allows you to map fields and properties of a type marked with the MessageContractAttribute attribute to SOAP message headers.
- Added support of MessageParameterAttribute that allows you to control the name of the request and response parameter names.
- Added support of setting AllowCookies=true on a channel that allows you to indicates whether a WCF client will automatically store and resend any cookies sent by a WCF service.
- The NetTcp transport now supports all forms of streamed TransferMode (Streamed, StreamedRequest, StreamedResponse). This includes both synchronous and asynchronous forms as well as use with SecurityMode.None and SecurityMode.Transport.
- Performance and reliability improvements
- Known Issues
-
Closing or aborting a client channel using NetTcp can throw a SocketException on OS X. The workaround is to temporarily use a try/catch and ignore SocketExceptions occurring during a close or abort.
-
Client certificates and custom server certificate validation are currently only available on Windows.
-
The support of Kerberos authentication on Linux distros and OS X is dependent on the underlying Kerberos implementation that is MIT GSSAPI (Ubuntu, Debian), NTLM SSP (RedHat / CentOS), or Heimdal (OS X) implementation. In order to establish a connection to the server, one must install required components on corresponding OSes. Additional details can be found in known issues regarding NegotiateStream in .NET Core 1.0 RC2 release notes.
-
In an ASP.NET Core Web Application, a .NET Core Console Application or a .NET Core Class Library, you may need to add
System.Private.ServiceModel
package in addition to WCF contract packages for your application/library to build properly, so your project.json may look like this"netcoreapp1.0": { "imports": "dnxcore50", "dependencies": { ... "System.ServiceModel.Duplex": "4.0.1-rc2-24027", "System.ServiceModel.Http": "4.1.0-rc2-24027", "System.ServiceModel.NetTcp": "4.1.0-rc2-24027", "System.ServiceModel.Primitives": "4.1.0-rc2-24027", "System.ServiceModel.Security": "4.0.1-rc2-24027", "System.Private.ServiceModel": "4.1.0-rc2-24027" } }
-
As stated in the known issues regarding UWP projects in .NET Core 1.0 RC2 release notes, this RC2 release cannot be used in a Windows Universal Platform (UWP) application.
-