网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

详细解读ASP.NET的异步

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/05
们需要一个集合来保存连接中的客户端,提供一个向这些客户端发送消息的方法。

  1. public class WebAsyncResultCollection : List<WebAsyncResult>, ICollection<WebAsyncResult>  
  2. {  
  3.     private static WebAsyncResultCollection _instance = new WebAsyncResultCollection();  
  4.  
  5.     public static WebAsyncResultCollection Instance  
  6.     {  
  7.         get { return WebAsyncResultCollection._instance; }  
  8.     }  
  9.  
  10.     public bool SendMessage(string clientID, string message)  
  11.     {  
  12.         var result = this.FirstOrDefault(r => r.ClientID == clientID);  
  13.         if (result != null)  
  14.         {  
  15.             Remove(result);  
  16.             bool sendsuccess = false;  
  17.             if (result.Context.Response.IsClientConnected)  
  18.             {  
  19.                 sendsuccess = true;  
  20.                 result.Context.Response.Write(message);  
  21.             }  
  22.             result.SetComplete();  
  23.             return sendsuccess;  
  24.         }  
  25.         return false;  
  26.     }  

对于异步处理程序的开始方法,我们收集信息并放入集合。

  1. public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)  
  2. {  
  3.     var clientID = context.Request.QueryString["id"];  
  4.     WebAsyncResultCollection.Instance.SendMessage(clientID, "ClearClientID");  
  5.     WebAsyncResult result = new WebAsyncResult(cb, context, clientID);  
  6.     WebAsyncResultCollection.Instance.Add(result);  
  7.     return result;  

【不完善】由于客户端收到一次消息后结束请求,由客户端再次发起请求,中间会有

  • 上一篇资讯: ASP.NET显示渐变图片
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号