Installed .NET Framework 4.5 Ajax POST IIS hang
去年我已写过一篇关于安装.NET Framework 4.5后特定场景Ajax POST的挂起问题 => http://www.cnblogs.com/junchu25/archive/2012/10/28/2743205.html,今天补充一些非代码级别的解决方案。
前几天用户反馈某个应用一定程度间隔点击无响应(在等待较长时间后恢复正常),页面较为简单Ext.NET的GridPanel + Store。分别在Windows 7 Ultimate、Windows Server 2008 R2 + IIS 7.5运行都存在该问题。首先在我们的Dev、Pub环境(Windows Server 2012 + IIS 8.0)测试并未出现相应情况,尝试访问用户应用并通过Microsoft Network Monitor抓取数据包,问题出现时服务器确实没有响应。登陆用户服务器使用性能计数器添加Request/sec + Microsoft Network Monitor确认请求已转交给IIS Worker Process处理。这个时候IIS并没有挂起,它可以继续响应其它客户端的请求,比如IE新建一个会话访问或者使用其它厂商浏览器(Chrome、Firefox),同时发现只有在IE浏览器、同一个会话请求上会产生阻塞。WinDbg ~* kb查看非托管堆栈一些线程处于如下状态:
Id: 1710.1788 Suspend: Teb: 000007ff`ffebe000 Unfrozen
RetAddr : Args to Child : Call Site
000007fe`fd7c162d : 0000036c` 000001c4` ` `0100eedc : ntdll!ZwRemoveIoCompletion+0xa
`7732bd81 : `00003a98 `0a267f40 ` ` : KERNELBASE!GetQueuedCompletionStatus+0x39
000007fe`ed72ea9e : ` `0addf649 ` ` : kernel32!GetQueuedCompletionStatusStub+0x11
000007fe`ed7066ae : ` `08ff25e0 ` `0000000c : clr!CopyPDBs+0x36ce
`7733f56d : ` ` ` ` : clr!StrongNameSignatureVerification+0x5a22
` : ` ` ` ` : kernel32!BaseThreadInitThunk+0xd
` : ` ` ` ` : ntdll!RtlUserThreadStart+0x1d
由于产品部署在多个生产环境下使用并未有其他客户反馈类似问题,相同操作系统情况下唯一区别就是安装.NET Framework 4.5,于是又想起去年碰到的Ajax POST问题。分析某个页面在第一次请求加载后客户端会发起一个Ajax POST获取用户数据,而这个请求没有完成返回时立刻打断继续重新请求问题立刻重现。既然大致了解问题的原因,接下去就是如何找出一个解决方案。参考了一些国外论坛并结合亲身试验参考如下:
1、操作系统升级至 Windows Server 2012,使用IIS 8.0。
2、将存在问题应用的应用程序池”托管管道模式”修改为”经典”。
3、卸载.NET Framework 4.5,重新安装.NET Framework 4.0。
参考链接:
http://social.technet.microsoft.com/Forums/en-US/43c113c7-3a78-4bb1-8cee-4662ef662a49/installed-net-45-framework-and-web-application-now-hang
http://stackoverflow.com/questions/14963635/ie-double-postback-hangs-iis-7-in-integrated-managed-pipeline-mode-when-session
http://stackoverflow.com/questions/15437524/managedpipelinehandler-for-an-ajax-post-crashes-if-an-ie9-user-navigates-away-fr/15484368#15484368
http://forums.iis.net/t/1164963.aspx
Installed .NET Framework 4.5 Ajax POST IIS hang的更多相关文章
- Electron – 项目报错整理(打包~1): WARNING: Make sure that .NET Framework 4.5 or later and Powershell 3 or later are installed, otherwise extracting the Electron zip file will hang.
WARNING: Make sure that .NET Framework 4.5 or later and Powershell 3 or later are installed, otherwi ...
- .net framework多个版本在IIS服务器上时应注意-重新注册IIS-错误Server Application Unavailable
今天客户一个附件上传的应用程序报错,服务器安装了.net 4.0 framework(还有1.0和2.0版本),因为有网站程序需要用到2.0,配置好站点后,附件程序是用的2.0,Mail程序选择版本为 ...
- app framework map及ajax方法
$(function () { $.ajax({ url: 'Ashx/GetProductList.ashx', contentType: "JSON", success: fu ...
- IIS Hang Troubleshoot
Your website maybe stop working and response very lowly. How to find out the reason? Below are the g ...
- Windows 10 (IIS 10)安装Microsoft Web Farm Framework Version 2.2 for IIS7问题
But I got an error message "iis version 7.0 or greater is required to install Web Farm Framewor ...
- 如何调试IIS错误信息
原文链接: http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag ...
- Install Typical IIS Workloads
原文 Install Typical IIS Workloads Introduction The IIS 7.0 and above modular architecture is designed ...
- Installing IIS 8.5 on Windows Server 2012 R2
原文 Installing IIS 8.5 on Windows Server 2012 R2 Introduction This document describes how to install ...
- ASP.NET IIS Registration Tool (Aspnet_regiis.exe)
IIS Version Special cases for 32-bit versions of Aspnet_regiis.exe 6.0 You can run the 32-bit versio ...
随机推荐
- spark1.4配置安装
https://segmentfault.com/a/1190000004508993
- [转]linux下lame的使用
找到這篇好文章,不得不说開源的Lame功能很強大 linux下lame的使用 % lame [参数] <输入文件名> [<输出文件名>] 如需查询更多参数,可输入下列命令: % ...
- 通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置
通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置 配置H ...
- 关于微博开放平台Oauth2.0接入网站应用
关于什么是微博开放平台及微博开放平台能做什么,咱就不做搜索引擎的搬运工了 这里直接给个链接介绍:微博开放平台 本文只是抛砖引玉,讲讲微博开放平台的基本用法,适合没接触过开放平台的朋友入门学习,老鸟就略 ...
- vue-cli生成的项目配置开发和生产环境不同的接口
vue-cli生成的项目,vue项目配置了不同开发环境的接口地址,axios.defaults.baseURL如何引用这个地址,这是在我发布项目的时候考虑的,于是想到了 方法一: config下配置文 ...
- js简单Base64编码解码
var str = 'javascript'; window.btoa(str) //转码结果 "amF2YXNjcmlwdA==" window.atob("amF2Y ...
- 6. go数组与冒泡排序
include 数组的概念 如何定义数组 数组常用的用法 数组如何指定下标设值 二维数组 冒泡排序 数组 定义数组的格式:var [n] , n>=0 数组长度也是类型的一部分,因此具有不同的长 ...
- JSP求和计算
已知两个数的值,如何求和并输出? <%@ page language="java" import="java.util.*,java.text.*" co ...
- faster-rcnn原理及相应概念解释
R-CNN --> FAST-RCNN --> FASTER-RCNN R-CNN: (1)输入测试图像: (2)利用selective search 算法在图像中从上到下提取2000个左 ...
- Java实现快速批量移动文件
文件移动是计算机资源管理常用的一个操作,这在操作系统中可以通过文件的剪切与复制或鼠标拖动来实现.但是在Java文件的编程实现中,大多是通过复制文件到目的地,再删除所有文件来实现的.这对于小文件来说看不 ...