diff --git a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs
index acd6bdf42..7dc0bda84 100644
--- a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs
+++ b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryChannel.Symmetric.cs
@@ -39,7 +39,7 @@ public partial class UaSCUaBinaryChannel
///
/// Called when the token changes
///
- protected internal ChannelTokenActivatedEventHandler OnTokenActivated { get; set; }
+ protected internal Action OnTokenActivated { get; set; }
///
/// Creates a new token.
diff --git a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs
index 534abc00d..a56152a94 100644
--- a/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs
+++ b/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs
@@ -493,7 +493,8 @@ private UaSCUaBinaryClientChannel CreateChannel(ITransportWaitingConnection conn
}
// Register the token changed event handler with the internal channel
- channel.OnTokenActivated = m_OnTokenActivated;
+ channel.OnTokenActivated =
+ (current, previous) => m_OnTokenActivated?.Invoke(this, current, previous);
return channel;
}
#endregion
diff --git a/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs b/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs
index c5f9a65ff..5880861f7 100644
--- a/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs
+++ b/Stack/Opc.Ua.Core/Stack/Transport/ITransportChannel.cs
@@ -20,9 +20,13 @@ namespace Opc.Ua
///
/// Callback when the token is activated
///
+ ///
///
///
- public delegate void ChannelTokenActivatedEventHandler(ChannelToken currentToken, ChannelToken previousToken);
+ public delegate void ChannelTokenActivatedEventHandler(
+ ITransportChannel source,
+ ChannelToken currentToken,
+ ChannelToken previousToken);
///
/// This is an interface to a channel which supports