What is difference between ActivityInboundInterceptor and WorkflowOutboundInterceptor?

Their interfaces both have a method naming ExecuteActivity. Could anyone provide some examples to illustrate their triggering time?

ActivityInboundInterceptor is executed in the context of the activity worker and intercepts each attempt (retry) of the activity execution.

WorkflowOutboundInterceptor intercepts an invocation of the activity by the workflow and is executed in the context of a workflow. So, it has to obey all the rules that other workflow code must follow.

Thanks for your detailed reply.