• 异步处理程序


    post方式请求一个异步处理程序获得json数据时,对于请求方来说,是需要等待整个handler执行完成的,而非仅仅开始一个异步的时间。

       /// <summary>
        /// AsyncHandler 的摘要说明
        ///  异步处理程序基类
        /// </summary>
        public abstract class AsyncHandlerBase : IHttpAsyncHandler
        {
            readonly Action<HttpContext> _processRequest;
            public AsyncHandlerBase()
            {
                _processRequest = ProcessRequest;
            }
    
            public abstract void ProcessRequest(HttpContext context);
            
            public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)
            {
                context.Response.Write("异步开始了!");
                return _processRequest.BeginInvoke(context, cb, context);
            }
    
            public void EndProcessRequest(IAsyncResult result)
            {
                _processRequest.EndInvoke(result);
                HttpContext context = result.AsyncState as HttpContext;
                context.Response.Write("到回调了!");
                
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
        /// <summary>
        /// MyAsyncHandler 的摘要说明
        /// </summary>
        public class MyAsyncHandler : AsyncHandlerBase
        {
            public override void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "application/json";
                context.Response.Write(""mess":"即将休眠5秒"");
                System.Threading.Thread.Sleep(5000);
                context.Response.Write(""mess":"我以苏醒"");
            }
        }
         public static void PostTest()
         {
             string reqUrl = "http://localhost:51233/MyAsyncHandler.ashx";
             string result = PostJsonDataToServer(reqUrl, "", HttpWebRequestMethod.GET, 6000);
             Console.WriteLine(result);
         }

  • 相关阅读:
    mvn
    MySQL 数据类型
    Request获取客户端IP
    struts1
    tomcat8.5 Host-Manager配置访问的方法
    struts2框架
    windows注册表
    windows常用命令
    浏览器内核
    创建分区swap分区
  • 原文地址:https://www.cnblogs.com/tiantianle/p/9247126.html
Copyright © 2020-2023  润新知