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 ...
随机推荐
- 关于golang中包(package)的二三事儿
golang的package和其他语言的组织方式完全不同,刚开始接触时,很不适应. golang的package的特点: 1.go的package不局限于一个文件,可以由多个文件组成. 组成一个pac ...
- 在selenium中使用css选择器进行元素定位
Sizzle Css3还提供一些直接选取form表单元素的伪类 :input: Finds all input elements (includes textareas, selects, and b ...
- Redis Crackit漏洞利用和防护
注意:本文只是阐述该漏洞的利用方式和如何预防.根据职业道德和<中华人民共和国计算机信息系统安全保护条例>,如果发现的别人的漏洞,千万不要轻易入侵,这个是明确的违法的哦!!! 目前Redis ...
- Redis面试题及答案整理
1.什么是Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载 ...
- python 在windows 中文显示
今天看到mechanize,在网上找例子实验,发现只要代码里出现中文,就会报错 SyntaxError: Non-ASCII character , but no encoding declared; ...
- scala中获取Map中key和value的方法
val scores=Map("Alice"->10,"Bob"->3,"Cindy"->8) // 获取所有的key v ...
- 多页Excel转换成PDF时如何保存为单独文件
通过ABBYY PDF Transformer+图文识别软件,使用PDF-XChange打印机将多页Excel工作簿转换成PDF文档(相关文章请参考ABBYY PDF Transformer+从MS ...
- 【百度地图API】制作多途经点的线路导航——路线坐标规划
一.创建地图 首先要告诉大家的是,API1.2版本取消密钥,取消服务设置,大家可以采用更加简短的方式引用API的JS啦~ <script type="text/javascript&q ...
- IIS------项目配置到IIS后报500错误
转载: http://blog.csdn.net/yinjingjing198808/article/details/7185453 错误一: HTTP Error 500.19 - Internal ...
- map 集合的遍历
List<Map<String,Object>> autoReplyList= wechatService.queryAutoReplyByOrg(orgId); for(Ma ...