博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于异步委托的调用与应用场景
阅读量:6988 次
发布时间:2019-06-27

本文共 2101 字,大约阅读时间需要 7 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Threading;using System.Runtime.Remoting.Messaging;using System.IO;namespace TestApp.ResponseHeader{    public partial class Demo : System.Web.UI.Page    {        public delegate void SendMailHandler();        protected void Page_Load(object sender, EventArgs e)        {            Response.ClearHeaders();            Response.AddHeader("Server", "nginx");            Response.AddHeader("testID", Session.SessionID);        }        protected void Button1_Click(object sender, EventArgs e)        {            string userName = this.TextBox1.Text;            Response.Write(string.Format("当前注册的用户是:{0}",userName));            SendMailHandler sendMailHandler = new SendMailHandler(SendMail);            AsyncCallback callBack = new AsyncCallback(SendMailCallBack);            sendMailHandler.BeginInvoke(callBack, userName);        }        public void SendMailCallBack(IAsyncResult re)        {            AsyncResult result = re as AsyncResult;            SendMailHandler handler = (SendMailHandler)result.AsyncDelegate;            handler.EndInvoke(re);            WriteLog(string.Format("{0},您的注册邮件已经发送...", re.AsyncState));            WriteLog(string.Format("{0}::邮件发送完毕...", DateTime.Now));        }        private void SendMail()        {            WriteLog(string.Format("{0}::开始发送邮件...", DateTime.Now));            Thread.Sleep(20000);            //ThreadStart ts = new ThreadStart(Run);            string s = "gogogo...";            ParameterizedThreadStart pts = new ParameterizedThreadStart(Run);            Thread t = new Thread(pts);            t.Start(s);        }        private void WriteLog(string log)        {           StreamWriter sw = File.AppendText(Server.MapPath("~/text.txt"));           sw.WriteLine(log);           sw.Flush();           sw.Close();        }        public void Run(object s)        {            WriteLog(s.ToString());        }    }}

结果如下图

转载于:https://www.cnblogs.com/huangzelin/archive/2012/12/23/2830382.html

你可能感兴趣的文章
第一周作业
查看>>
Web应用的工作原理
查看>>
Python和Java就业前景对比
查看>>
Python学习笔记__9章 IO编程
查看>>
Python学习笔记__20.1章 协程
查看>>
第六章 总结
查看>>
决心书
查看>>
AWS研究人员找到改善Alexa语音和声音辨识
查看>>
两台电脑共享鼠标键盘
查看>>
我的友情链接
查看>>
EDM资讯分享:Focussend应邀出席第五届出境自由行&定制游高峰论坛
查看>>
我的友情链接
查看>>
α冲刺 (6/10)
查看>>
Xcode7 低版本iOS系统上下有黑边的问题
查看>>
数据库查询集与反射的应用(自己写的小例子)
查看>>
关于exchange数据库无法装载问题分析处理
查看>>
nginx配置之一堆without
查看>>
iOS 系统架构及常用框架
查看>>
(毕业)上海行
查看>>
Nginx 源码学习资料
查看>>