I have set up a subscription for newEvents and has also defined a filter like:
ItemEventFilter eventFilter = new ItemEventFilter();
eventFilter.SelectClauses.Add(BrowseNames.AckedState);
eventFilter.SelectClauses.Add(BrowseNames.ConfirmedState);
eventFilter.SelectClauses.Add(BrowseNames.Time);
eventFilter.SelectClauses.Add(BrowseNames.Severity);
I have added the filter to the monitored item as well.
In the Subscription_EventHandler I print the EventsFields to text file.
My question is are the results in EventFields in the order that I defined them in the filter?
My Subscription_NewEvent hndler looks like this:
private void Subscription_NewEvents(Subscription subscription, NewEventsEventArgs e)
{
try
{
if (
_subscriptions.TakeWhile(t => !Objects.ReferenceEquals(_subscriptions[0], subscription))
.Where((t, i) => i == _subscriptions.Count)
.Any())
{
return;
}
foreach (NewEvent newEvent in e.Events)
{
for (int i = 0; i < newEvent.Event.EventFields.Count; i++)
{
if (newEvent.Event.EventFields.Value != null)
{
s += newEvent.Event.EventFields.Value.ToString().Trim() + ",";
}
else
{
s += ",";
}
}
s = s.Remove(s.Length - 1);
s += Environment.NewLine;
using (System.IO.StreamWriter file =
new System.IO.StreamWriter(@"c:\temp\textfile.txt", true))
{
file.WriteLine(s);
}
}
}
catch (Exception ex)
{
var a = ex;
throw;
}
}
Event subscription
Moderator: uasdknet
- Support Team
- Hero Member
- Posts: 3064
- Joined: 18 Mar 2011, 15:09
Re: Event subscription
Yes, the EventFields are sent in the same order than specified in the SelectClause.
Best regards
Unified Automation Support Team
Unified Automation Support Team
-
- Hero Member
- Posts: 28
- Joined: 16 Oct 2018, 12:47
Re: Event subscription
How do you mock this event using Moq ?