The session open codepath is now fully async, including the complex type loader, NodeCache and cert validator. Many sessions can now be opened concurrently without running into thread starvation or blocking issues.
bug fix: auto generated async service calls did not await the answer and consumed threads by waiting for a ManualResetEvent. ChannelAsyncOperation received an awaitable EndAsync method to allow async service calls to await the response.
Switch to BouncyCastle.Cryptography library which is used for platforms which do not support native cert creation and for the CSR decoder.
Bug fixes and new complex datatypes in the reference server created with ModelCompiler for Unions and StructuresWithOptionalFields.
Cert creation can be disabled if required with a new property in ApplicationInstance
Bug fix for decoding of complex types which contain derived type from an abstract type like a Opc.Ua.Union.
Various fixes found while attending the IOP workshop in Nürnberg in October.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps OPCFoundation.NetStandard.Opc.Ua.Bindings.Https.Debug from 1.4.372.56 to 1.4.372.76.
Release notes
Sourced from OPCFoundation.NetStandard.Opc.Ua.Bindings.Https.Debug's releases.
... (truncated)
Commits
0015d11
Merge pull request #2352 from OPCFoundation/master71ad9af
Nested complex types which contain structure derived from an abstract type ar...d47bc85
Various async improvements and minor issues found in IOP testing (#2346)ec4c3cd
Add property to disable auto certificate creation on app startup (#2348)77b1e9b
Added new DataTypes to Reference Server (#2340)3f45eb7
Bump BenchmarkDotNet from 0.13.8 to 0.13.9 (#2334)49c8c00
.NET target 5.0 and 6.0 use 6.0 version of Microsoft.Extensions.Logging.Abstr...9f0f4c5
Make CertificateValidationEventArgs and CertificateUpdateEventArgs constructo...88f2592
Port to bouncycastle cryptography (#2315)af04893
Fix degradation to sync calls in the SDK on main paths used. (#2316)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show