Windows应用程序池在Windows 10中以32位模式失败
在我的开发机器上,每当我将IIS应用程序池设置为以32位模式运行时,任何启动的Web应用程序都将挂起.在浏览器中访问时,应用程序将“挂起”大约5-10秒,然后才会收到503错误.应用程序的应用程序池将在此时停止,并且必须显式重新启动.
在64位(默认)模式下,一切都很好,但是每当池切换到32位时,它甚至会立即挂在新的网站中的静态页面上. 当以32位模式发布到我的实时服务器时,相同的应用程序运行正常,因此看起来这是某种配置问题.我启用了失败请求跟踪,但日志中没有显示任何内容. 由于一些旧的COM依赖项,我有几个必须运行32位的应用程序,但我无法让服务器运行. 可能导致此问题的任何想法?
好的,我发现了问题,这是AspNetCore模块,其中64位版本在IIS模块列表中没有位数值而注册.
此问题并非特定于AspNetCoreModule,除了安装模块时未指定bitness64(对于64位版本).如果没有位数值,模块即使在32位模式下也会加载并导致服务器崩溃. 另一个失败点是IIS重写模块,当Windows更新时,它会因类似原因而被软管.每次Windows更新时,重写模块都会为我打破IIS(32位和64位).这是初始失败和事件日志条目.重新安装重写模块后,AspNetCoreModule错误开始显示在事件日志中.我在我的博客上有更多信息:https://weblog.west-wind.com/posts/2015/jul/05/windows-10-upgrade-and-iis-503-errors 为了修复AspNetCore模块的位数,我改变了Applicationhost.config中的位数: <add name="AspNetCoreModule" image="%SystemRoot%system32inetsrvaspnetcore.dll" preCondition="bitness64" /> 注意前提条件= bitness64,这是使32位AppPools再次工作所需的全部,因为这可以防止模块加载到32位进程.重新安装AspNet Server运行时可能也可以解决这个问题,但我没有验证这一点. 当应用程序启动时发生503错误时,它们通常与应用程序池相关,并且不会显示在FREB日志中. EventLog确实有更多信息,在这种情况下首先指向重写模块,然后指向AspNet核心模块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – 如何在子进程中启动崩溃(很少)应用程序
- 使用PowerShell获取启动类型的Windows服务
- xsockets.net(.NET WebSocket服务器)如??何在Windows 2008上
- Windows服务实现IDisposable – 这是不好的做法?
- Win2008 Server配置PHP环境 Win2008 Server配置
- windows-7 – Windows多点触控事件和LabView
- 在Microsoft SQL Server中比较日期的最佳方法是什么?
- Windows – IIS无法提供文件名中包含重音和空格的文件
- Windows Server FIrewall(2012)Ipsec隧道问题
- Windows rsync支持长文件名,还是一个不错的选择?
- windows-server-2008 – Windows Server 2008 Sy
- windows – 防火墙会阻止进程之间的本地TCP通信吗
- windows-server-2008 – 从Windows Server 2000工
- windows-server-2003 – 从死Windows域控制器中获
- windows – Iscsi成立 – 任何理由我不应该做我正
- 在Windows 10上安装Git 1.9.5
- 在Windows中将自定义文件扩展名与java应用程序相
- Windows – Win32,多个NIC计算机,每个NIC不同的D
- 适用于Windows 8的WPF性能监视器
- 在Windows上安装python3 lxml