protected virtual IAsyncResult BeginInvokeActionMethod(ControllerContext context, ActionDescriptor action, IDictionary <string, object> parameters, AsyncCallback callback, object state) { AsyncActionDescriptor asyncAction = (action as AsyncActionDescriptor); if (asyncAction != null) { return(BeginInvokeAsynchronousActionMethod(context, asyncAction, parameters, callback, state)); } return(BeginInvokeSynchronousActionMethod(context, action, parameters, callback, state)); }
private IAsyncResult BeginInvokeAsynchronousActionMethod(ControllerContext context, AsyncActionDescriptor action, IDictionary <string, object> parameters, AsyncCallback callback, object state) { BeginInvokeDelegate beginDelegate = delegate(AsyncCallback asyncCallback, object asyncState) { return(action.BeginExecute(context, parameters, asyncCallback, asyncState)); }; EndInvokeDelegate <ActionResult> endDelegate = delegate(IAsyncResult asyncResult) { object returnValue = action.EndExecute(asyncResult); ActionResult result = CreateActionResult(context, action, returnValue); return(result); }; return(AsyncResultWrapper.Begin(callback, state, beginDelegate, endDelegate, _invokeMethodTag)); }
private IAsyncResult BeginInvokeAsynchronousActionMethod(ControllerContext context, AsyncActionDescriptor action, IDictionary<string, object> parameters, AsyncCallback callback, object state) { BeginInvokeDelegate beginDelegate = delegate(AsyncCallback asyncCallback, object asyncState) { return action.BeginExecute(context, parameters, asyncCallback, asyncState); }; EndInvokeDelegate<ActionResult> endDelegate = delegate(IAsyncResult asyncResult) { object returnValue = action.EndExecute(asyncResult); ActionResult result = CreateActionResult(context, action, returnValue); return result; }; return AsyncResultWrapper.Begin(callback, state, beginDelegate, endDelegate, _invokeMethodTag); }