Beispiel #1
0
        /// <summary>
        /// GetHtml方法的异步调用方式,根据相传入的数据,得到相应页面数据
        /// </summary>
        /// <param name="item">参数类对象</param>
        /// <param name="resultMainName">回调的方法名</param>
        public void BeginInvokeGetHtml(HttpItem item, ResultHandler resultMainName)
        {
            resultheadler = resultMainName;
            GethtmlHandler handler = new GethtmlHandler(GetHtml);

            handler.BeginInvoke(item, new AsyncCallback(CallbackFunc), "AsycState:OK");
        }
Beispiel #2
0
        /// <summary>
        /// 内部回调方法
        /// </summary>
        /// <param name="resultType">返回值</param>
        private void CallbackFunc(IAsyncResult resultType)
        {
            //result 是“加法类.Add()方法”的返回值
            //AsyncResult 是IAsyncResult接口的一个实现类,引用空间:System.Runtime.Remoting.Messaging
            //AsyncDelegate 属性可以强制转换为用户定义的委托的实际类。
            GethtmlHandler handler = (GethtmlHandler)((AsyncResult)resultType).AsyncDelegate;
            HttpResult     result  = handler.EndInvoke(resultType);

            //回调方法传回执行结果
            resultheadler.Invoke(result);
        }