CoreWCF v1.5.1
Release Notes
Package Info
CoreWCF.ConfigurationManager 1.5.1
CoreWCF.Http 1.5.1
CoreWCF.Kafka 1.5.1
CoreWCF.Kafka.Client 1.5.1
CoreWCF.NetFramingBase 1.5.1
CoreWCF.NetTcp 1.5.1
CoreWCF.Primitives 1.5.1
CoreWCF.Queue 1.5.1
CoreWCF.RabbitMQ 1.5.1
CoreWCF.RabbitMQ.Client 1.5.1
CoreWCF.Templates 1.5.1
CoreWCF.UnixDomainSocket 1.5.1
CoreWCF.WebHttp 1.5.1
.NET Compatibility
This release depends on .NET Standard 2.0 and runs on any .NET version which supports .NET Standard 2.0. This release supports .NET Framework 4.6.2 and above, .NET 6, .NET 7, and .NET8. It is built on top of ASP.NET Core and has been tested and runs on all currently supported versions of ASP.NET Core up to 8.0. The CoreWCF.RabbitMQ.Client, CoreWCF.Kafka.Client, and CoreWCF.UnixDomainSocket packages only support .NET 6 or later.
New Features
Unix Domain Socket support
With this release, the CoreWCF.UnixDomainSocket package has come out of preview. This package enables you to use unix domain sockets for same host communication with CoreWCF. This provides an alternative to NetNamedPipe and works on all supported platforms. This was contributed by @birojnayak from AWS. The WCF Client project is simultaneously releasing the package System.ServiceModel.UnixDomainSocket to provide the client for this transport.
New implementation of default IOperationInvoker
In previous versions, the IOperationInvoker called MethodInfo.Invoke to call the service method. This is a relatively expensive way to call a method. In this release, we have a new implementation using LINQ Expressions which compiles a strongly typed lambda function to call the service method. This will provide a small performance improvement when dispatching a service call. If you experience any compatibility issues, you can set the AppContext switch CoreWCF.Dispatcher.UseLegacyInvokeDelegate
to true to fallback to the previous implementation. If you need to do this, please open an issue explaining the problem you had. This feature was implemented by @g7ed6e
What's Changed
Bug Fixes
- Fix ambiguous UseServiceModel when using WebApplication by source including CoreWCF extension method for net6.0+ by @g7ed6e in #1235
- Fix PathTooLongException in OperationParameterInjectorGenerator by @g7ed6e in #1240
- For the Kafka binding, enhance offset commit handling when using AtLeastOnce semantic by @g7ed6e #1260
- Renamed UnixDomainSocketClientCredentialType.IdentityOnly to PosixIdentity and added enum type UnixDomainSocketSecurityMode to create UDS security mode TransportCredentialOnly to correctly reflect that PosixIdentity doesn't provide any transport encryption or integrity by @birojnayak in #1262
- Updated package dependencies to latest minor version by @mconnew in #1272
- Prevent code analyzers from analyzing CoreWCF extension method source included by package by @bjornen77 in #1278
- Prevent CoreWCF extension method source being included when targeting netstandard2.0 by @mconnew in #1196
- Prevent CoreWCF extension source file being compiled when project doesn't reference asp.net core by @mconnew in #1282
Feedback
Your feedback is important and appreciated. Please use the discussion #1288 for your questions and comments.
Full Changelog: v1.5.0-preview1...v1.5.1