'Usage
Dim instance As EasyAEClient Dim handle As Integer instance.UnsubscribeEvents(handle)
Parameters
- handle
- Event subscription handle as returned by the SubscribeEvents method
'Usage
Dim 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. |
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 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/net472/OpcLabs.EasyOpcClassicCore.dll" Add-Type -Path "../../../Components/net472/OpcLabs.EasyOpcClassic.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
' 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