'UsageDim instance As _EasyAEClient Dim handle As Integer instance.UnsubscribeEvents(handle)
Parameters
- handle
- Event subscription handle as returned by the SubscribeEvents method
'UsageDim instance As _EasyAEClient Dim handle As Integer instance.UnsubscribeEvents(handle)
| Exception | Description |
|---|---|
| System.ArgumentException | One of the arguments provided to a method is not valid. This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception. |
The event subscription handle becomes invalid after this method is called.
// This example shows how to unsubscribe from specific event notifications. using System; using System.Threading; using OpcLabs.EasyOpc.AlarmsAndEvents; using OpcLabs.EasyOpc.AlarmsAndEvents.OperationModel; namespace DocExamples.AlarmsAndEvents._EasyAEClient { class UnsubscribeEvents { public static void Main1() { // Instantiate the client object. using (var client = new EasyAEClient()) { var eventHandler = new EasyAENotificationEventHandler(client_Notification); client.Notification += eventHandler; Console.WriteLine("Subscribing..."); int handle = client.SubscribeEvents("", "OPCLabs.KitEventServer.2", 1000); Console.WriteLine("Waiting for 10 seconds..."); Thread.Sleep(10 * 1000); Console.WriteLine("Unsubscribing..."); client.UnsubscribeEvents(handle); Console.WriteLine("Waiting for 10 seconds..."); Thread.Sleep(10 * 1000); } } // Notification event handler static void client_Notification(object sender, EasyAENotificationEventArgs e) { if (!e.Succeeded) { Console.WriteLine("*** Failure: {0}", e.ErrorMessageBrief); return; } if (!(e.EventData is null)) Console.WriteLine(e.EventData.Message); } } }
# This example shows how to unsubscribe from specific event notifications. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc import time # Import .NET namespaces. from OpcLabs.EasyOpc import * from OpcLabs.EasyOpc.AlarmsAndEvents import * # Notification event handler def notification(sender, e): if not e.Succeeded: print('*** Failure: ', e.ErrorMessageBrief, sep='') return else: if e.EventData is not None: print(e.EventData.Message) # Instantiate the client object client = EasyAEClient() client.Notification += notification print('Subscribing events...') handle = IEasyAEClientExtension.SubscribeEvents(client, '', 'OPCLabs.KitEventServer.2', 1000) print('Waiting for 10 seconds...') time.sleep(10) print('Unsubscribing events...') client.UnsubscribeEvents(handle) print('Waiting for 10 seconds...') time.sleep(10) client.Notification -= notification print('Finished.')
' This example shows how to unsubscribe from specific event notifications. Imports System.Threading Imports OpcLabs.EasyOpc.AlarmsAndEvents Imports OpcLabs.EasyOpc.AlarmsAndEvents.OperationModel Namespace AlarmsAndEvents._EasyAEClient Friend Class UnsubscribeEvents Public Shared Sub Main1() Using client = New EasyAEClient() Dim eventHandler = New EasyAENotificationEventHandler(AddressOf client_Notification) AddHandler client.Notification, eventHandler Console.WriteLine("Subscribing...") Dim handle As Integer = client.SubscribeEvents("", "OPCLabs.KitEventServer.2", 1000) Console.WriteLine("Waiting for 10 seconds...") Thread.Sleep(10 * 1000) Console.WriteLine("Unsubscribing...") client.UnsubscribeEvents(handle) Console.WriteLine("Waiting for 10 seconds...") Thread.Sleep(10 * 1000) End Using End Sub ' Notification event handler Private Shared Sub client_Notification(ByVal sender As Object, ByVal e As EasyAENotificationEventArgs) If Not e.Succeeded Then Console.WriteLine("*** Failure: {0}", e.ErrorMessageBrief) Exit Sub End If If e.EventData IsNot Nothing Then Console.WriteLine(e.EventData.Message) End If End Sub End Class End Namespace
# This example shows how to subscribe to events and display the event message with each notification. It also shows how to # unsubscribe afterwards. #requires -Version 5.1 using namespace OpcLabs.EasyOpc.AlarmsAndEvents # The path below assumes that the current directory is [ProductDir]/Examples-NET/PowerShell/Windows . Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcClassicCore.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcClassic.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcClassicComponents.dll" # Instantiate the client object. $client = New-Object EasyAEClient # Notification event handler Register-ObjectEvent -InputObject $client -EventName Notification -Action { if (-not $EventArgs.Succeeded) { Write-Host "*** Failure: $($EventArgs.ErrorMessageBrief)" #return } if ($EventArgs.EventData -ne $null) { Write-Host $EventArgs.EventData.Message } } Write-Host "Subscribing events..." $handle = [IEasyAEClientExtension]::SubscribeEvents($client, "", "OPCLabs.KitEventServer.2", 1000) Write-Host "Processing event notifications for 1 minute..." $stopwatch = [System.Diagnostics.Stopwatch]::StartNew() while ($stopwatch.Elapsed.TotalSeconds -lt 60) { Start-Sleep -Seconds 1 } Write-Host "Unsubscribing events..." $client.UnsubscribeEvents($handle) Write-Host "Finished."
Rem This example shows how to subscribe to events and display the event message with each notification. It also shows how to
Rem unsubscribe afterwards.
Private Sub SubscribeEvents_Main_Command_Click()
OutputText = ""
Dim serverDescriptor As New serverDescriptor
serverDescriptor.ServerClass = "OPCLabs.KitEventServer.2"
' Instantiate the client object and hook events
Set Client1 = New EasyAEClient
OutputText = OutputText & "Subscribing..." & vbCrLf
Dim subscriptionParameters As New AESubscriptionParameters
subscriptionParameters.notificationRate = 1000
Dim handle
Dim state
handle = Client1.SubscribeEvents(serverDescriptor, subscriptionParameters, True, state)
OutputText = OutputText & "Processing event notifications for 1 minute..." & vbCrLf
Pause 60000
OutputText = OutputText & "Unsubscribing events..." & vbCrLf
Client1.UnsubscribeEvents handle
OutputText = OutputText & "Waiting for 5 seconds..." & vbCrLf
Pause 5000
OutputText = OutputText & "Finished." & vbCrLf
Set Client1 = Nothing
End Sub
Private Sub Client1_OnNotification(ByVal sender As Variant, ByVal eventArgs As EasyAENotificationEventArgs)
If Not eventArgs.Succeeded Then
OutputText = OutputText & eventArgs.ErrorMessageBrief & vbCrLf
Exit Sub
End If
If Not eventArgs.EventData Is Nothing Then
OutputText = OutputText & eventArgs.EventData.Message & vbCrLf
End If
End Sub
Rem This example shows how to subscribe to events and display the event message with each notification. It also shows how to
Rem unsubscribe afterwards.
Private Sub SubscribeEvents_Main_Command_Click()
OutputText = ""
Dim serverDescriptor As New serverDescriptor
serverDescriptor.ServerClass = "OPCLabs.KitEventServer.2"
' Instantiate the client object and hook events
Set Client1 = New EasyAEClient
OutputText = OutputText & "Subscribing..." & vbCrLf
Dim subscriptionParameters As New AESubscriptionParameters
subscriptionParameters.notificationRate = 1000
Dim handle
Dim state
handle = Client1.SubscribeEvents(serverDescriptor, subscriptionParameters, True, state)
OutputText = OutputText & "Processing event notifications for 1 minute..." & vbCrLf
Pause 60000
OutputText = OutputText & "Unsubscribing events..." & vbCrLf
Client1.UnsubscribeEvents handle
OutputText = OutputText & "Waiting for 5 seconds..." & vbCrLf
Pause 5000
OutputText = OutputText & "Finished." & vbCrLf
Set Client1 = Nothing
End Sub
Private Sub Client1_OnNotification(ByVal sender As Variant, ByVal eventArgs As EasyAENotificationEventArgs)
If Not eventArgs.Succeeded Then
OutputText = OutputText & eventArgs.ErrorMessageBrief & vbCrLf
Exit Sub
End If
If Not eventArgs.EventData Is Nothing Then
OutputText = OutputText & eventArgs.EventData.Message & vbCrLf
End If
End Sub
Rem This example shows how to unsubscribe from specific event notifications. Option Explicit Dim ServerDescriptor: Set ServerDescriptor = CreateObject("OpcLabs.EasyOpc.ServerDescriptor") ServerDescriptor.ServerClass = "OPCLabs.KitEventServer.2" Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.AlarmsAndEvents.EasyAEClient") WScript.ConnectObject Client, "Client_" WScript.Echo "Subscribing..." Dim SubscriptionParameters: Set SubscriptionParameters = CreateObject("OpcLabs.EasyOpc.AlarmsAndEvents.AESubscriptionParameters") SubscriptionParameters.NotificationRate = 1000 Dim handle: handle = Client.SubscribeEvents(ServerDescriptor, SubscriptionParameters, True, Nothing) WScript.Echo "Waiting for 10 seconds..." WScript.Sleep 10*1000 WScript.Echo "Unsubscribing..." Client.UnsubscribeEvents handle WScript.Echo "Waiting for 10 seconds..." WScript.Sleep 10*1000 Rem Notification event handler Sub Client_Notification(Sender, e) If Not (e.Succeeded) Then WScript.Echo "*** Failure: " & e.ErrorMessageBrief Exit Sub End If If Not e.EventData Is Nothing Then WScript.Echo e.EventData.Message End Sub