/// <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"); }
/// <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); }