Neue ISession-Schnittstelle anstelle der Session-Klasse
Breaking Changes
Server
- IMonitoredItem Interface erweitert & verwendet anstelle der Klasse MonitoredItem
- Neue ISession-Schnittstelle anstelle der Session-Klasse
- ISesssionManager, ISubscriptionManager, ISubscription & IServerInternal Schnittstellen erweitert
Kern
- ICertificateStore Async Methoden haben jetzt async Suffixe, alte Namen veraltet
- Alle veralteten Methoden entfernt
Client
- Alle Sync-Methoden sind jetzt als veraltet gekennzeichnet
- DataTypeDictionaries wurden in das ComplexTypes Paket verschoben. Wenn die Helper-Methoden der Session verwendet wurden, empfehlen wir das ComplexType System als Ersatz zu verwenden, das alle Server von OPC UA Spec 1.0 - 1.0.05 verarbeiten kann.
- NodeCache hat nun ein asynchrones Interface (um Zugriff auf das ITypeTable Interface zu haben, verwenden Sie die .TypeTree Eigenschaft oder die AsNodeTable Methode
Anwendungsinstanz
- Methoden, die eine Aufgabe zurückgeben, haben asynchrone Suffixe
GDS-Client
- sync apis als veraltet markiert
Neue Funktionen
Server
- Unterstützung für asynchrone Methodenaufrufe durch Implementierung der Schnittstelle IAsyncNodeManager (siehe ConfigurationNodeManager für ein Anwendungsbeispiel)
- Neue Task-basierte Request Queue
- Neuer generierter Code mit asynchronen Methodenaufruf-Handlern & asynchrone Service-Aufrufe
- Neuer erweiterter CustomNodeManager mit Unterstützung für SamplingGroup-Mechanismus
GDS-Client
- stellt async APIS zur Verfügung und markiert sync apis als veraltet
Client
- Neuer LRU NodeCache hinzugefügt & verwendet in ComplexType System
Was sich geändert hat
- Update des GDS-Clients, um async Client API zu verwenden und sync Calls zu verwerfen. by @romanett in #3164
- Bump actions/checkout von 4 auf 5 von @dependabot[bot] in #3165
- Fix nuget und offizieller Build und zusätzliche kleinere analzyer Fixes von @marcschier in #3166
- Sync-Client-Aufrufe aus Async-Client-Tests entfernen von @romanett in #3168
- GDS-Tests sollen ECC für die Verbindung verwenden. Update der Zertifikatswarteprüfung zur Verwendung des Polling-Mechanismus. by @romanett in #3167
- Entfernen von strong namer, der nicht funktioniert und fork async add auto und... by @marcschier in #3175
- [Tests] Entfernen von net 462 CI / Hinzufügen von TestContext Logging Unterstützung für GDS Tests / Fix Tests für netstandard by @romanett in #3170
- Sync-Client-Api überflüssig machen von @marcschier in #3174
- Optimiert reflexionsbasierte Suchvorgänge mit Caches von @marcschier in #3179
- Neu eingeführte AsyncNodeTable- und AsyncTypeTree-Schnittstellen nach core verschieben von @marcschier in #3182
Fehlerbehebungen
Server
- Fix: Subscription Keepalive wird bei der ersten Veröffentlichung gesendet
- Nicht gesendete Anfragen auf geschlossenem SecureChannel werden auf einem neuen Channel der gleichen Session gesendet
Client
- Deaktiviere Subscription cleanup wenn Subscriptions erstellt werden
- Behebung von Abonnement-Lecks aufgrund von nicht abgeschlossenen PublishResponseMessageWorkerAsync-Aufgaben
- Behebung von Abonnementlecks aufgrund von nicht abgeschlossenen PublishResponseMessageWorkerAsync-Aufgaben
Freigegebene Pakete
- OPCFoundation.NetStandard.Opc.Ua
- OPCFoundation.NetStandard.Opc.Ua.Core
- OPCFoundation.NetStandard.Opc.Ua.Security.Certificates
- OPCFoundation.NetStandard.Opc.Ua.Configuration
- OPCFoundation.NetStandard.Opc.Ua.Server
- OPCFoundation.NetStandard.Opc.Ua.Client
- OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes
- OPCFoundation.NetStandard.Opc.Ua.Bindings.Https
- OPCFoundation.NetStandard.Opc.Ua.PubSub