ITraceWriterExtensions::TraceBeginEndAsync<TResult> Method (ITraceWriter, HttpRequestMessage, String, TraceLevel, String, String, Action<TraceRecord>, Func<Task<TResult>>, Action<TraceRecord, TResult>, Action<TraceRecord>)

Traces both a begin and an end trace around a specified operation.

Namespace:  System.Web.Http.Tracing
Assembly:  System.Web.Http (in System.Web.Http.dll)

[ExtensionAttribute]
public:
generic<typename TResult>
static Task<TResult>^ TraceBeginEndAsync(
	ITraceWriter^ traceWriter, 
	HttpRequestMessage^ request, 
	String^ category, 
	TraceLevel level, 
	String^ operatorName, 
	String^ operationName, 
	Action<TraceRecord^>^ beginTrace, 
	Func<Task<TResult>^>^ execute, 
	Action<TraceRecord^, TResult>^ endTrace, 
	Action<TraceRecord^>^ errorTrace
)

Type Parameters

TResult

The type of result produced by the Task.

Parameters

traceWriter
Type: System.Web.Http.Tracing::ITraceWriter
The ITraceWriter.
request
Type: HttpRequestMessage
The HttpRequestMessage with which to associate the trace. It may be null.
category
Type: System::String
The logical category of the trace.
level
Type: System.Web.Http.Tracing::TraceLevel
The TraceLevel of the trace.
operatorName
Type: System::String
The name of the object performing the operation. It may be null.
operationName
Type: System::String
The name of the operation being performed. It may be null.
beginTrace
Type: System::Action<TraceRecord>
The Action to invoke prior to performing the operation, allowing the given TraceRecord to be filled in. It may be null.
execute
Type: System::Func<Task<TResult>>
An <see cref="T:System.Func`1" /> that returns the Task that will perform the operation.
endTrace
Type: System::Action<TraceRecord, TResult>
The Action to invoke after successfully performing the operation, allowing the given TraceRecord to be filled in. The result of the completed task will also be passed to this action. This action may be null.
errorTrace
Type: System::Action<TraceRecord>
The Action to invoke if an error was encountered performing the operation, allowing the given TraceRecord to be filled in. It may be null.

Return Value

Type: System.Threading.Tasks::Task<TResult>
The Task returned by the operation.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ITraceWriter. When you use instance method syntax to call this method, omit the first parameter. For more information, see https://msdn.microsoft.com/en-us/library/azure/bb384936.aspx or https://msdn.microsoft.com/en-us/library/azure/bb383977.aspx.

The end trace will occur when the asynchronous operation completes, either success or failure.

Show: