您的位置:首页 > 其它

.net Delegate 实现异步调用

2013-09-04 17:05 288 查看
   class Program

    {

        static void Main(string[] args)

        {

                    string dowmUrl="http://www.baidu.com";

                   AsynOrSyncDelegate asyorsyn = HttpDownAsyn;

                    //异步调用

                    asyorsyn.BeginInvoke(dowmUrl, delegate(IAsyncResult iAsyncResult)

                    {

                        AsyncResult result = (AsyncResult)iAsyncResult;

                        string content = (result.AsyncDelegate as AsynOrSyncDelegate).EndInvoke(result);

                        if ((bool)result.AsyncState == true)

                            Console.WriteLine("true");

                        Console.WriteLine(content);

                    }, true);

                    Console.WriteLine("Ok!");

                  

         }

 

        //定义委托

        public delegate string AsynOrSyncDelegate(string url);

        //下载网页内容

        public static string HttpDownAsyn(string url)

        {

            WebClient web = new WebClient();

            return System.Text.Encoding.GetEncoding("utf-8").GetString(web.DownloadData(url));

        }

     }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  异步 delegate