CoreWCF

Main repository for the Core WCF project

MIT License

Stars
1.6K
Committers
73

Bot releases are hidden (Show)

CoreWCF - CoreWCF 0.3.2

Published by mconnew about 3 years ago

Release Notes

Package Info

CoreWCF.Primitives 0.3.2
CoreWCF.Http 0.3.2
CoreWCF.NetTcp 0.3.2
CoreWCF.ConfigurationManager 0.3.2

Security Fixes

Bump System.DirectoryServices.Protocols from 5.0.0 to 5.0.1. This is due to a critical security bug in System.DirectoryServices.Protocols which is used by CoreWCF for populating claims information when using Windows authentication with security mode TransportWithMessageCredentials. This update is critical if you use this scenario on Linux or MacOS. Windows services are unaffected. More information can be found in the .NET Core security advisory here.

Bug Fixes

None

CoreWCF - CoreWCF 0.3.1

Published by mconnew about 3 years ago

Release Notes

Package Info

CoreWCF.Primitives 0.3.1
CoreWCF.Http 0.3.1
CoreWCF.NetTcp 0.3.1
CoreWCF.ConfigurationManager 0.3.1

.NET Compatibility

This release depends on .NET Standard 2.0 and runs on any .NET version which supports .NET Standard 2.0. This means.NET Framework 4.6.1 and above and .NET Core 3.1 and above. 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 5.0.

Bug Fixes

The new CoreWCF.ConfigurationManager package would fail to load the config if an endpoint had no name. A similar issue was happening with the service definition. This release fixes that issue. It also changes 2 of the new public apis. While fixing the issue, we discovered that 2 members on the new interface CoreWCF.Configuration.IConfigurationHolder would allow a cleaner implementation if they were modified slightly. The property ConcurrentDictionary<string, ServiceEndpoint> Endpoints { get; } has been changed to ISet<ServiceEndpoint> Endpoints { get; } and the method IXmlConfigEndpoint GetXmlConfigEndpoint(string name); has been changed to IXmlConfigEndpoint GetXmlConfigEndpoint(ServiceEndpoint endPoint);. This was to avoid the introduction of an artificial key which could potentially have problems with name collisions. This interface isn't referenced when configuring a CoreWCF service to use a .config file so we don't expect this change to affect anybody who has already begun using this new package.

Documentation

The documentation is still being worked on. Most classes which exist in .NET Framework under the System.ServiceModel namespace should have the same behavior in CoreWCF. Until we have documentation published, please refer to the .NET Framework WCF documentation.

Samples

You can find samples for some common scenarios in the Samples folder of the repo.

Feedback

Your feedback is important and appreciated. We've created a discussion item at #453 for your questions and comments.

CoreWCF - CoreWCF 0.3.0

Published by mconnew about 3 years ago

Release Notes

Package Info

CoreWCF.Primitives 0.3.0
CoreWCF.Http 0.3.0
CoreWCF.NetTcp 0.3.0
CoreWCF.ConfigurationManager 0.3.0

.NET Compatibility

This release depends on .NET Standard 2.0 and runs on any .NET version which supports .NET Standard 2.0. This means.NET Framework 4.6.1 and above and .NET Core 2.1 and above. It is built on top of ASP.NET Core 2.1, and has been tested and runs on all currently supported versions of ASP.NET Core up to 5.0.

Features

We have a new package, CoreWCF.ConfigurationManager. This is used to provide partial support for using your app.config configuration from .NET Framework. Here is a summary of all the new features in 0.3.0.

  • Added partial support for WCF app.config configuration - @Ximik87
  • Added non-generic overload of ServiceBuilderExtensions.ConfigureServiceHostBase() - @g7ed6e
  • Made HttpsTransportBindingElement public to enable custom bindings using HTTPS - @birojnayak
  • Added compat support for System.ServiceModel.XmlSerializerFormatAttribute - @petarpetrovt
  • Duplex contracts now work - @Danielku15
  • Made FaultContractInfo public - @g7ed6e

Bug Fixes

  • Fixed issues with use out and ref parameters in operation contract method - @JoelDavidLang
  • Fixed serialization when XmlSerializerFormat specifies IsEncoded = true - @petarpetrovt
  • Fixed RemoteEndpointMessageProperty for NetTcp when running on ASP.NET Core 5.0 - @Danielku15
  • Fixed sending Fault message when MessageSecurityException - @mconnew
  • Fixed problem with MaxReceivedMessageSize and MaxBufferSize not being applied when using HTTPS - @mconnew
  • Fixed parsing of HTTPS addresses using + or * for hostname - @ovebastiansen

Documentation

The documentation is still being worked on. Most classes which exist in .NET Framework under the System.ServiceModel namespace should have the same behavior in CoreWCF. Until we have documentation published, please refer to the .NET Framework WCF documentation.

Samples

You can find samples for some common scenarios in the Samples folder of the repo.

Feedback

Your feedback is important and appreciated. We've created a discussion item at #443 for your questions and comments.

CoreWCF - CoreWCF 0.2.1

Published by mconnew about 3 years ago

Release Notes

Package Info

CoreWCF.Primitives 0.2.1
CoreWCF.Http 0.2.1
CoreWCF.NetTcp 0.2.1

.NET Compatibility

This release depends on .NET Standard 2.0 and runs on any .NET version which supports .NET Standard 2.0. This means.NET Framework 4.6.1 and above and .NET Core 2.1 and above. It is built on top of ASP.NET Core 2.1, and has been tested and runs on all currently supported versions of ASP.NET Core up to 5.0.

Features

None

Bug Fixes

  • Fixed issue where you could only have one listening endpoint per scheme (@mconnew)
  • Fixed issue where BasicHttpBinding with security mode Transport didn't apply MaxReceivedBufferSize or MaxBufferSize (@mconnew)

If you are using an HTTPS endpoint, you must pass BasicHttpSecurityMode.Transport to the constructor of BasicHttpBinding.

Known Issues

  • Duplex contracts aren't yet working

Documentation

The documentation is still being worked on. Most classes which exist in .NET Framework under the System.ServiceModel namespace should have the same behavior in CoreWCF. Until we have documentation published, please refer to the .NET Framework WCF documentation.

Samples

You can find samples for some common scenarios in the Samples folder of the repo.

Feedback

Your feedback is important and appreciated. We've created a discussion item at #408 for your questions and comments.

CoreWCF - CoreWCF 0.2.0

Published by mconnew about 3 years ago

Release Notes

Package Info

CoreWCF.Primitives 0.2.0
CoreWCF.Http 0.2.0
CoreWCF.NetTcp 0.2.0

.NET Compatibility

This release depends on .NET Standard 2.0 and runs on any .NET version which supports .NET Standard 2.0. This means.NET Framework 4.6.1 and above and .NET Core 2.1 and above. It is built on top of ASP.NET Core 2.1, and has been tested and runs on all currently supported versions of ASP.NET Core up to 5.0.

Features

The following features are new to CoreWCF 0.2.0

  • Support for .NET 5.0 (@mconnew)
  • Enable role based authorization via new AuthorizeRoleAttribute (@birojnayak)
  • Enable Windows Authentication for NetTcp on Linux with ldap group/role lookup support (@birojnayak)
  • Added support for SecurityMode.TransportWithMessageCredentials to NetTcp and BasicHttpBinding (@birojnayak)
  • New overloads to UseNetTcp to enable specifying listeing IPAddress (@ovebastiansen)
  • Made MessageParameterAttribute public and added compatibility for System.ServiceModel equivalent (@g7ed6e)
  • Exposed the BasicHttpBinding.Security property (@josellm)
  • Enabled injecting ServiceBehaviorAttribute via DI (@mconnew)

Bug Fixes

  • Fixed race condition in ChannelHandler which caused some requests to stall (@BradBarnich)
  • Fixed hosting in HTTP.SYS (http only) and IIS (@mconnew)
  • Fixed calling Dispose on an IDisposable DI injected Singleton when using InstanceContextMode.Single (@mconnew)

Known Issues

  • Duplex contracts aren't yet working
  • HTTPS doesn't work when using HTTP.SYS as we need to add BasicHttpsBinding to get the working.

Documentation

The documentation is still being worked on. Most classes which exist in .NET Framework under the System.ServiceModel namespace should have the same behavior in CoreWCF. Until we have documentation published, please refer to the .NET Framework WCF documentation.

Samples

You can find samples for some common scenarios in the Samples folder of the repo. For this release we have some new sample scenarios and the samples have been cleaned up a bit thanks to @JohnLeyva.

Contributors

Major Contributors in order of contribution (500+ lines of code added):
@birojnayak (Amazon AWS)
@JohnLeyva
@mconnew (Microsoft)

Other code contributors:
@g7ed6e, @ovebastiansen, @Grauenwolf, @josellm, @BradBarnich

Feedback

Your feedback is important and appreciated. We've created a discussion item at #390 for your questions and comments.

CoreWCF - CoreWCF 0.1.0 GA

Published by mconnew over 3 years ago

Release Notes

Package Info

CoreWCF.Primitives 0.1.0
CoreWCF.Http 0.1.0
CoreWCF.NetTcp 0.1.0

.NET Compatibility

This release depends on .NET Standard 2.0 and runs on any .NET version which supports .NET Standard 2.0. This means.NET Framework 4.6.1 and above and .NET Core 2.1 and above. It is built on top of ASP.NET Core 2.1.

Features

The following features are supported in CoreWCF

  • Bindings:
    • BasicHttpBinding
    • NetHttpBinding
    • NetTcpBinding - some WS-* features not supported
    • WSHttpBinding - some WS-* features not supported
  • Security:
    • Transport
      • NetTcpBinding supports Certificate and Windows authentication
      • Http bindings require authentication to be configured in ASP.NET Core
    • Transport With Message Credentials
      • Username, Certificate and Windows Authentication are supported
  • Extensibility (IServiceBehavior and IEndpointBehavior) - most extensibility is available

Documentation

The documentation is still being worked on. Most classes which exist in .NET Framework under the System.ServiceModel namespace should have the same behavior in CoreWCF. Until we have documentation published, please refer to the .NET Framework WCF documentation.

Samples

You can find samples for some common scenarios in the Samples folder of the repo.

Contributors

Major Contributors (10,000+ lines of code):
@mconnew (Microsoft)
@birojnayak (Amazon AWS)

Other code contributors:
@imcarolwang, @danielcrenna, @v-fangfc, @nschonni, @willaimyou, @Treit, @DamirAinullin, @VorTechS, @0x53A, @ZhaodongTian, @voronov-maxim, @edberg, @FreeAndNil, @Daniel-Svensson, @v-yarli

Feedback

Your feedback is important and appreciated. We've created a discussion item at #309 for your questions and comments.