不多说了直接上代码

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            string uriString = "http://127.0.0.1/tools/Handler1.ashx";
            WebClient myWebClient = new WebClient();
            NameValueCollection myNameValueCollection = new NameValueCollection();
            myNameValueCollection.Add("Name", "Tom");
            myNameValueCollection.Add("Address", uriString);
            myNameValueCollection.Add(");

            //虽然是异步调用 但是还会阻止当前的响应,所以从效果上看,还是会阻塞,这不是我想要的方式
            //应该使用后台线程 去做这样的事情
            //这个和控制台展示的效果不一样
            myWebClient.UploadValuesCompleted += myWebClient_UploadValuesCompleted;
            myWebClient.UploadValuesAsync(new Uri(uriString), null, myNameValueCollection, context);

            //同步POST
            //byte[] responseArray = myWebClient.UploadValues(uriString, myNameValueCollection);
            //Decode and display the response.
            //Response.Write(Encoding.ASCII.GetString(responseArray));
            //context.Response.Write("Hello World");
        }

        void myWebClient_UploadValuesCompleted(object sender, UploadValuesCompletedEventArgs e)
        {
            Octopus.Common.CommonHelper.TraceLog(Encoding.ASCII.GetString(e.Result));
        }

        //接收
        context.Response.ContentType = "text/plain";
        System.Threading.Thread.Sleep();
        context.Response.Write("Hello World," + context.Request.Form["Name"] + ","
                + context.Request.Form["Age"] + "," + context.Request.Form["Address"]);

Octopus系列之UploadValues异步上载的更多相关文章

  1. Octopus系列之如何让前台的js脚本变得灵活重用

    Octopus系列如何让前台的js脚本变得灵活,重用 方式1:ajax方式 方式2:form表单方式 面向对象的脚本封装 jQuery的封装 做Web开发的少不了前台Ajax的使用, 返回true:f ...

  2. CDC不同模式在ODI体现系列之二 异步模式

    CDC不同模式在ODI体现系列之二 异步模式 2 异步模式需要在数据库中做一些准备工作: 改数据为归档并启用logminer: SQL> shutdown immediate 数据库已经关闭. ...

  3. Octopus系列之开发中灵光点收集,先放到这里,后面会整理的

    项目中引用的组件 1.System.Data.SQLite.dll 自行编译 SQLite-1.0.66.0-source 3.5的框架:F:\Code\开源项目\SQLite\1.0.66.0_x8 ...

  4. Tornado源码分析系列之一: 化异步为'同步'的Future和gen.coroutine

    转自:http://blog.nathon.wang/2015/06/24/tornado-source-insight-01-gen/ 用Tornado也有一段时间,Tornado的文档还是比较匮乏 ...

  5. 【58沈剑架构系列】RPC-client异步收发核心细节?

    第一章聊了[“为什么要进行服务化,服务化究竟解决什么问题”] 第二章聊了[“微服务的服务粒度选型”] 第三章聊了[“为什么说要搞定微服务架构,先搞定RPC框架?”] 上一章聊了[“微服务架构之RPC- ...

  6. Java8系列 (七) CompletableFuture异步编程

    概述 Java8之前用 Future 处理异步请求, 当你需要获取任务结果时, 通常的做法是调用  get(long timeout, TimeUnit unit) 此方法会阻塞当前的线程, 如果任务 ...

  7. Octopus系列之代码备份

    代码 $.extend($.validator.messages, { required: "This field is required.", remote: "Ple ...

  8. Octopus系列之各个页面调用示例

    调用首页产品 可选参数如下 New = 1, Hot = 2, Best = 3, Special = 4, Featured = 5, Other = 6 #foreach($item in $oc ...

  9. Octopus系列之模板快速开发手册

    公共代码 html_header_1 <title>${sitename}-${seotitle}</title> <meta http-equiv="Cont ...

随机推荐

  1. Thinkphp---------Call to a member function free_result() on a non-object

    1.平时用框架用久了,直接执行原生的sql反而做起来反应迟钝了.今天遇到一个问题,就是直接执行一个添加的sql语句,然后我用了TP框架的M()->query();方法.运行以后,会报Call t ...

  2. 创建和导出SVG的技巧(转载)

    本文转载自: 创建和导出SVG的技巧

  3. 关于IP地址的一个细节问题

    使用ip2long()和long2ip()函数把IP地址转成整型存放进数据库而非字符型.这几乎能降低1/4的存储空间.同时可以很容易对地址进行排序和快速查找;

  4. VIM 中鼠标选择不选中行号

    VIM 中鼠标选择不选中行号 在Vim中,我们一般会使用 :set nu 打开行号开关. 但是打开行号后,有个弊端,那就是在用鼠标进行选择的时候,会将前面的行号也一起进行拷贝了.但是在gVim中进行选 ...

  5. printk函数日志级别的设置【转】

    本文转载自: 下面执行cat /proc/sys/kernel/printk 打印出的四个数字分别代表: 控制台日志级别.默认的消息日志级别.最低的控制台日志级别和默认的控制台日志级别 只有当prin ...

  6. asp.net 之 购物车

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  7. 预编译命令 #if DEBUG

    在控制台程序根据预编译命令: http://www.askapache.com/windows/advanced-batch-scripting.html namespace SXGYCarTrans ...

  8. SVN错误及处理

    SVN无法读取current修复方法 Can't read file : End of file found 文件:repository/db/txn_current.repository/db/cu ...

  9. LaTeX常用数学符号

    之前在写博客做笔记时经常会在Word或WPS里写好数学公式再截图上传,一直觉得这样很low.现在实在是不想再去截图上传了,于是决定开始学一下LaTeX.在博客园中使用数学公式的设置可以参考在博客园使用 ...

  10. 【java】定时器

    总结 1.执行计划的任务放在TimerTask的子类中,由Timer进行该任务. 2.创建一个Timer就是启动一个新的线程,直至Timer里的任务执行完毕,才会结束.希望创建的线程为守护线程,则创建 ...