OperationContext.OperationCompleted Event


Occurs when the operation has completed.

 event EventHandler ^ OperationCompleted;
public event EventHandler OperationCompleted;
member this.OperationCompleted : EventHandler 
Public Custom Event OperationCompleted As EventHandler 
Public Event OperationCompleted As EventHandler 

Event Type



Use the OperationCompleted event to dispose parameters or a return value if you set OperationBehaviorAttribute.AutoDisposeParameters to false. Normally you set OperationBehaviorAttribute.AutoDisposeParameters to false to prevent WCF from calling IDisposable.Dispose on the parameter and return value objects. However, if some parameters need to be preserved while others need to be disposed, this event is the best place to dispose those parameters.

Also, with duplex bindings, this event can be used to send a request on the callback channel after the reply for the current operation is sent.


If a caller is listening for the OperationContext.OperationCompleted event for an OperationContractAttribute.IsTerminating operation, it is possible to block when the response is received. The proper way to handle this is to schedule work on another thread when OperationCompleted is raised and then immediately return from that event handler.

Applies to