Agent.GetAgentAsyncContext Method
When overridden in a derived class, the GetAgentAsyncContext method gets a AgentAsyncContext object to mark the executing event handler to execute asynchronously.
Namespace: Microsoft.Exchange.Data.Transport
Assembly: Microsoft.Exchange.Data.Transport (in microsoft.exchange.data.transport.dll)
Syntax
'Declaration
Protected Function GetAgentAsyncContext As AgentAsyncContext
protected AgentAsyncContext GetAgentAsyncContext ()
protected:
AgentAsyncContext^ GetAgentAsyncContext ()
protected AgentAsyncContext GetAgentAsyncContext ()
protected function GetAgentAsyncContext () : AgentAsyncContext
Return Value
When overridden in a derived class, the GetAgentAsyncContext method returns a AgentAsyncContext object that is used by an asynchronous event handler.
Remarks
Thread starvation can occur if the code that is executing asynchronously takes a long time to finish. Therefore, it is important to monitor the thread pool and reuse threads that are allocated to instances of your agent.
Warning
If thread starvation occurs because of an asynchronous agent, the Simple Mail Transfer Protocol (SMTP) service may stop responding to incoming connection attempts.
You should log an error to the event log if thread starvation occurs. Logging the error to the event log enables administrators and applications that monitor the event log to find and take action on the thread starvation.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Development Platforms
Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003,
Target Platforms
Windows Server 2003