My application uses SendToFile to create packages for the most interesting logs. Currently i just use SessionCriteria.NewSessions.
However this sometimes causes it to include quite old sessions which have not been sent before.
Is it possible to get new sessions but only within a certain date range?
I looked at the overload that uses a predicate with SessionSummary but i couldnt see any way to get the new session flag from that.
For more advanced options like this you'll want to use our Predicate approach that lets you vote on every session whether it should be included or not. This can work with any property in the SessionSummary to determine if it should be included or not.
@Kendall It seems the ISessionSummary.IsNew is 'internal' and not exposed by the SessionSummary wrapper.
Hmm, I'm looking at the definition of the ISessionSummary interface and it does include IsNew (and interfaces can 't have internal members) but if you go into Visual Studio you may see both a public and internal implementation due to vagaries of how we're creating and casting objects internally. Are you getting an error when you attempt to access the property?
Sorry. I meant the ISessionSummary interface is internal. SessionSummary seems to expose the inner m_WrappedISessionSummary properties. But IsNew is not exposed.
To clarify things a little...
For example. Since the interface is internal. We can't do something like this:
new Predicate<Loupe.Extensibility.Data.ISessionSummary>(s => s.IsNew);
Because ISessionSummary is internal therefore IsNew is too.
And we can't do this:
Packager.SendToFile(new Predicate<SessionSummary>(s => s.IsNew));
Because SessionSummary doesn't have a IsNew property.
Ah, I see what's gone wrong. To avoid users having to reference the Extensibility type library we are duplicating the SessionSummary type and are missing that value. We'll have to add that.
Yeah would be great if you can add that property to SessionSummary. Thanks for looking into this.