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;
    }
    }
    }

  • 相关阅读:
    基本指令6---GRANT
    基本指令4---ALTER
    基本指令3--UPDATE/DELETE/DROP
    基本指令2---CREATE/INSERT INTO
    基本指令1
    jmeter-跨线程组传值
    【数学】斯特林子集数 | 斯特林轮换数 | 欧拉数
    【图论】拓扑排序
    【数学】多项式(原理)
    【数学】普通型生成函数
  • 原文地址:https://www.cnblogs.com/kexb/p/4960439.html
Copyright © 2011-2022 走看看