zoukankan      html  css  js  c++  java
  • 异步无阻塞委托 学习1

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Remoting.Messaging;
    using System.Threading;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    namespace WebApplication21
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    public delegate string testHandler();

    public delegate void aa(object sender, SelectEventArgs e);

    public event aa ea;

    protected void Page_Load(object sender, EventArgs e)
    {
    ea += WebForm1_ea;
    if (Request["_method"] == "search")
    {

    testHandler t = test;

    IAsyncResult result= t.BeginInvoke(callback, t);

    }

    }

    private void WebForm1_ea(object sender, SelectEventArgs e)
    {

    string r = e.DataSource;
    }

    private void callback(IAsyncResult tag)
    {
    AsyncResult result = (AsyncResult)tag;

    // 取得委托
    testHandler del = (testHandler)result.AsyncDelegate;

    // 取得委托后,我们需要在其上执行EndInvoke。
    // 这样就可以取得函数中的执行结果。
    string strReturnValue = del.EndInvoke(result);
    var onAfterSelect = this.ea;
    onAfterSelect?.Invoke(this, new SelectEventArgs(strReturnValue));
    }

    public string test( )
    {
    return "tt";
    }
    }
    public class SelectEventArgs : EventArgs
    {
    private string _dataSource = null;
    public string DataSource
    {
    get { return _dataSource; }
    }

    public SelectEventArgs(String data)
    {
    _dataSource = data;
    }
    }
    }

  • 相关阅读:
    maven 手工装入本地包
    一个简单的算法--找出样本中出现次数最多的数字
    tortoise Git 访问题
    python 的数值
    python 的运算符
    python3代码运行器
    python 3.X基础
    Python 3.X和Python 2.X的区别
    文件操作
    函数讲解
  • 原文地址:https://www.cnblogs.com/kexb/p/4960439.html
Copyright © 2011-2022 走看看