请问一下有关ajax异步请求同一个ashx页面出现阻塞的问题

问题描述

页面通过jquery的ajax方式发送十多个异步来请问另一台服务器中的一个ashx页面出现阻塞的情况,需要等待上一个请求完成,才会执行下一个。请问可以通过什么方式外理

解决方案

解决方案二:
你的程序中有没有导致阻塞的代码?按理说不会
解决方案三:
IRequiresSessionState,IReadOnlySessionState的区别,如果你是MVC,那就需要在Control上加[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]以指示Session是只读的,防止Session阻塞
解决方案四:
ashx默认是单线程(为了保证线程安全)如果你一定要实现多线程的话可以自己实现IHttpHandlerFactory
解决方案五:
没有用到session每一个请求处理要一两分钟的时间。
解决方案六:
引用楼主aijun12的回复:

页面通过jquery的ajax方式发送十多个异步来请问另一台服务器中的一个ashx页面出现阻塞的情况,需要等待上一个请求完成,才会执行下一个。请问可以通过什么方式外理

你用的是单线程吧?
解决方案七:
ashx这个页面是单线程
解决方案八:
引用6楼aijun12的回复:

ashx这个页面是单线程

请看二楼……
解决方案九:
我没有使用到session也试着实现了继承了IReadOnlySessionState还是不行
解决方案十:
贴你handler命名空间和类声明部分
解决方案十一:
publicclassTest:IHttpHandler,IReadOnlySessionState{publicvoidProcessRequest(HttpContextcontext){stringdomainName=HttpContext.Current.Request["domainName"];stringischina=HttpContext.Current.Request["ischina"];//此处代码执行要1分种左右HttpContext.Current.Response.Write("开始");}
解决方案十二:
这样写不可能出现阻塞的啊,是不是你调用的方法内部有lock阻塞了……
解决方案十三:
确认你没有使用session之类会独占资源的东西(你自定义的操作中有锁表锁文件的都算)再打开一个浏览器访问相同的ashx看是否有阻塞现象(首次ajax)如有,则是有独占现象,也可能是外部控件不支持并发如没有,则应判定为session的影响
解决方案十四:
里面没有阻塞,只是这里调用别人的api
解决方案十五:
那就是别人的api有阻塞吧……
解决方案:
利用多线程来处理
解决方案:
用tread吗,这样会不会创建太多的线程了
解决方案:
不会的,用完之后释放。

时间: 2016-02-29

请问一下有关ajax异步请求同一个ashx页面出现阻塞的问题的相关文章

浅谈Jquery中Ajax异步请求中的async参数的作用_jquery

之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html <a href="javascript:void(0)" onmouseover="testAsync()"> asy.js function testAsync{ var temp; $.ajax({ async: false, type : "GET", url : 'tet.php', complete: functi

Ajax异步请求PHP数据

接到了老师的一个作业,实现的布局如图: 如果输入了科室ID,科室名字只显示与ID对应的,若没有输入,则显示全部,然后根据I科室名字的值,在所属大科中的文本框自动显示科室名字所在的大科.例如:选择了心血管内科,则在所属大科显示内科. 主要代码如下: 根据ID请求科室 function showHint(str) { var xmlhttp; if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new

Ajax异步请求JSon数据(图文详解)_AJAX相关

上一篇讲了Ajax请求数据text类型,text和html都是处理比较简答的数据,而在编程过程中使用Ajax调用数据的时候,难免要进行逻辑的处理,接受的数据也变的复杂比如数组类型的数据,这时候就需要使用JSON数据类型进行处理,今天就说说,JSON数据请求过程中的一些细节: 友情提醒本文所需工具和原料如下: wamp或lamp环境.jquery.js.编辑器 具体方法/步骤请看下面: 1.创建基本的文件结构json_ajax.html和json_ajax.php,下载jquery.js,如图:

大数据-ajax异步请求数据问题。。。看不出哪里错了。。。跪求大神指点。。。

问题描述 ajax异步请求数据问题...看不出哪里错了...跪求大神指点... 我做ajax读取Excel表格里的数据...这是JAVA代码 java: public static List<HashMap<Object,Object>> readExcel(String excelPath){ //声明一个集合用于存储解析出来的数据 List<HashMap<Object,Object>> maps = new ArrayList<HashMap&l

ajax-Chrome处理本地Ajax异步请求的问题

问题描述 Chrome处理本地Ajax异步请求的问题 --allow-file-access-from-files 加了这个还是会显示XMLHttpRequest cannot find file怎么回事 求解 解决方案 请求的文件不存在也会报这种错误,自己检查下路径是否存在,文件名是否拼写正确 解决方案二: 解决办法是给chrome添加启动参数:--allow-file-access-from-files ,这样本地ajax请求就不会报跨域错误了.(注意如果给chrome添加多个启动参数,每个

java ajax-分析ajax异步请求的过程?

问题描述 分析ajax异步请求的过程? function check_name(){ alert(1); var xhr = getXhr(); xhr.open('post','check_name.do',true); alert(2); xhr.setRequestHeader( 'content-type', 'application/x-www-form-urlencoded'); alert(3); xhr.onreadystatechange=function(){ alert(4

SpringMVC环境下实现的Ajax异步请求JSON格式数据_AJAX相关

一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入jackson相关jar包,然后在spring配置文件"springmvc-servlet.xml"中添加json解析相关配置,我这里的完整代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schem

jquery的ajax异步请求接收返回json数据实例_jquery

jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以. 代码示例如下: 复制代码 代码如下: $('#send').click(function () {     $.ajax({         type : "GET",         url : "a.php",         dataType : "json

jquery ajax异步请求回调的详解

是指在写ajax异步请求时该如果写回调呢?写啥回调呢?错误时触发哪个回调呢? 常见的有: $.post(url, {}, function(res){ }, 'json'); 殊不知这种在出错的时候没有任何的处理... 通常我这样写: $.ajax({     url: '',     data: {},     dataType: 'json',     type: 'POST',     success: function(res){},     error: function(){},