PostSharp6.7//API Reference/Post­Sharp.​Patterns.​Diagnostics.​Contexts Namespace/Logging­Context Class/Logging­Context Methods/Logging­Context.​Get­Execution­Context­Data Method

LoggingContext.GetExecutionContextData Method

Returns a new layer for the async stack that has this LoggingContext as the associated activity and current as the Parent, if a new layer is required.

Namespace:  PostSharp.Patterns.Diagnostics.Contexts
Assembly:  PostSharp.Patterns.Diagnostics (in PostSharp.Patterns.Diagnostics.dll) Version: 6.7.12.0 (6.7.12.0)
Syntax
C#
protected virtual LoggingExecutionContextData GetExecutionContextData(
	LoggingExecutionContextData current,
	bool requireNew
)

Parameters

current
Type: PostSharp.Patterns.Diagnostics.Contexts.LoggingExecutionContextData
The layer in the async stack that's currently on top. It will become the parent of the new layer.
requireNew
Type: System.Boolean
If true, then this method must return a new instance. This is a parameter passed by the overriding method to the base call if the overridding method wants the layer to be created even if there's no properties or synthetic ID.

Return Value

Type: LoggingExecutionContextData
The LoggingExecutionContextData to be put on top of the async stack, or null if the no new layer is needed.
Remarks
The flow is:
  • LoggingContext.UpdatExecutionContextData calls LoggingContext.GetExecutionContextData, which is virtual
  • GetExecutionContextData returns null if no new layer needs to be created, or returns the new layer, fully edited, otherwise.
  • The implementation in the LoggingContext class creates a copy using "LoggingExecutionContextData.Clone" which may create a subclass.
  • Implementors must call the base class so that synthetic ID, logging properties and such stuff is filled in.
See Also