示例#1
0
        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));
        }
示例#2
0
        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);
		}