Quine.Schemas.Core.Eventing Namespace

Defines types for cross-process reporting of exceptions and other events.

Classes

EventSeverity Suggested predefined constants for using EventId flags. The definition of flags makes error events have the lowest integer values in the negative range. The definition leaves 6 bits for free use.
ExceptionPropertyBag Data from Exception suitable for serialization. Use Create(Exception) method to create an instance. If the exception implements IExceptionPropertyBagProvider, the interface is used to create a (derived) instance of ExceptionPropertyBag. Otherwise, the exception's public properties are added to Data dictionary.
ObjectPropertyBag 
OperationalEvent A single event persisted by OperationalTrace. NOT thread-safe.
OperationalTrace Persists an event trace generated during a single "logical operation". The trace can be serialized (i.e., Events property accessed) only after the instance has been disposed, after which no further events can be added. EventsSnapshot can be used to inspect history on an active instance.
PropertyValueBag Serializable bag of typed properties. "Simple" values, except enums, are strongly-typed; others are converted to string by invoking ToString through reflection. NOT thread-safe. This is the main extensibility point: derive from this class to store more structured data rather than putting bits into the dictionary. Use RegisterKnownType(Type) to support additional serializable types in the data dictionary.

Structures

EventId Strongly-typed wrapper for integer-valued event ids. The integer value is accessible through Value member.
PropertyValueBagUntypedValue Represents a typed value converted to untyped string.

Interfaces

IExceptionPropertyBagProvider Provides a factory method for creating (subclasses of) ExceptionPropertyBag. Exceptions implementing this interface is the preferred method of serializing structured exception data (instead of populating Data).