Asp.net果然可以异步处理http请求

这是我的一大发现。。(虽然很有可能早就有别人发现了。。)

我这里的异步是指,客户端1某此请求服务器端数据,服务器端先进行数据的接收,直到某一条件(比如说有另外的客户端2访问、某事件的触发)时,继续进行客户端1的数据的发送。

这里以客户端2的访问为例。

在aspx网页中放上一个Button,代码如下:

C#语言:
namespace Test
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Application["thread"] != null)
            {
                System.Threading.Thread th=Application["thread"] as System.Threading.Thread;
                if ((th.ThreadState & System.Threading.ThreadState.Suspended) > 0)
                {
                    HttpContext hc = Application["context"] as HttpContext;
                    hc.Response.Write("hello world!");
                    th.Resume();
                   
                }
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Application["thread"] = System.Threading.Thread.CurrentThread;
            Application["context"] = HttpContext.Current;
            System.Threading.Thread.CurrentThread.Suspend();
            Response.End();
        }
       
    }
}

某个客户端1访问时,按下按钮,然后客户端1处于等待状态;

直到另外一个客户端2访问时,客户端1的服务器处理线程停止挂起状态,并且客户端1的输出交给了服务器处理客户端2时的线程。

这正是我想要的效果。Asp.net的Application真是强大啊。。

考完了 归心似箭

在不停的失眠中,期末考试终于结束了。反正奖学金神马的是与我无缘了。。现在只希望英语能及格。。

为什么我的胃会在如此重要的考期出问题,而且还影响到了睡眠。。必须得好好检查检查了,回天津再说,现在先不说了。。祝我今天晚上能睡着。。

在沙河的最后一个晚上了,明儿下午就要回家了,我竟然是我们宿舍最晚回家的一个。

今儿下午本来打算打羽毛球去的,没想到919支2竟然没了。。于是没打成。明儿上午争取能有踢球的人。。估计概率不大,该走的都走了。

给你发短信你也不回我。。

孤独寂寞的夜。。。

展望2011

为我的2011年设几个目标吧。。

1 下学期蛋疼的活动们应该变少了,所以我要背英语了。。4级必须一次过。。

2 学Java。。然后写android的云剪贴板;

3 成绩保持在班平均分以上。。

4 看算法导论;

5 不再折腾手机了。。

我的2010

套用传奇教主的签名,“我的2010,我们的2010”。

2010就这么过去了。这一年啊,发生了比2009年还多的事。有心疼的,也有蛋疼的;有高兴的,也有扫兴的。

一边听着家里电脑的2.1音箱传来的Plain White T's的歌,一边想想这一年都发生了啥。

阅读更多