Skip to content

NegotiateStream and SslStream will no longer fail on multiple Begin operations without End #20865

@wfurt

Description

@wfurt

NegotiateStream and SslStream will no longer fail on multiple *Begin operations without *End

This is change in how we handle error cases on security streams.

Version introduced

5.0 RC1

Old behavior

In the past sequence of

  • BeginXx
  • BeginXx

would throw NotSupportedException exception.

New behavior

Since the API calls are now backed by Task based implementation, this is no longer the case.

Reason for change

Switching internal implementation from APM to Tasks improves performance and decreases code complexity.

Recommended action

none. It was always invalid to call multiple Begin* operations without End*.

Category

  • ASP.NET Core
  • C#
  • Code analysis
  • Core .NET libraries
  • Cryptography
  • Data
  • Debugger
  • Deployment
  • Globalization
  • Interop
  • JIT
  • LINQ
  • Managed Extensibility Framework (MEF)
  • MSBuild
  • Networking
  • Printing
  • Security
  • Serialization
  • Visual Basic
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • XML, XSLT

Affected APIs

SslStream.BeginAuthenticateAsServer
SslStream.BeginAuthenticateAsClient
NegotiateStream.BeginAuthenticateAsServer
NegotiateStream.BeginAuthenticateAsClient


Issue metadata

  • Issue type: breaking-change

cc: @stephentoub

Metadata

Metadata

Assignees

Labels

🏁 Release: .NET 5Work items for the .NET 5 releasebreaking-changeIndicates a .NET Core breaking change

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions