惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
L
LINUX DO - 热门话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
V
V2EX
GbyAI
GbyAI
量子位
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
S
SegmentFault 最新的问题
O
OpenAI News
N
News and Events Feed by Topic
博客园 - Franky
爱范儿
爱范儿
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
Last Week in AI
Last Week in AI
罗磊的独立博客
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Register - Security
The Register - Security
Y
Y Combinator Blog
J
Java Code Geeks
I
Intezer

博客园 - KK2038

诚招.Net研发人员 VS编译时自动引用Debug|Release版本的dll 盘点国内外不同特色的Web流量分析工具 IE无法设置短域名下Cookie 使用XamlReader.Load构建配置型自定义控件 Java/Js如何使用正则表达式匹配嵌套Html标签 几个有趣的Javascript Hack Hilo: Windows 7下C++应用程序开发实战演练 晒晒自己电脑里的常用工具 Visual Studio编辑器一次缩进/反缩进4个空格 Win7访问远程桌面最大化同时让任务栏可见 Sql Tips——Update语句也使用表别名(Table Alias) 关于字符编码,你所需要知道的 Silverlight 4+RIA Services--搜索引擎优化(SEO) 为什么IIS7/7.5的Gzip不起作用 SSIS调用存储过程失败 当Google Analytics、Firefox和IIS走到了一起... VS2010的UI设计失误 微软技术社区精英计划——你也来加入吧
64位系统下IIS7 ISAPI处理器加载失败
KK2038 · 2010-06-02 · via 博客园 - KK2038

症状

公司一台数据库服务器上部署了IIS网站(IIS7),利用Sql Server Analysis Services的msmdpump.dll组件,实现了通过HTTP层来访问Analysis Services(MSAS不支持HTTP远程访问,非HTTP的远程访问也一直没成功过)。运行状况一直良好,最近突然罢工。Debug发现在建立连接的时候总是抛出“The Connection either timed out or was lost”。

诊断

尝试用企业管理器直接连接Analysis Services,成功,数据访问也正常,说明Analysis Services服务运作正常。那看来问题是出在了IIS这一层。

直接在浏览器中通过http://machinename/olap/msmdpump.dll去访问的时候,会弹出一个保存文件的对话框。正常情况下,服务器会返回500,因为没有数据输入。现在弹出保存文件的对话框,说明IIS把这个dll资源当作一个普通文件来对待了,而不是调用ISAPI处理器来处理。

细看了网站的配置,似乎没有问题,重新部署了一个网站,重新配置了ISAPI处理器映射,问题依旧出现。

ISAPI处理器映射

自己探索了很久,未果,Google了很久,一篇文章(IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes)提醒了我。这篇文章讲的是如何在不同的应用程序池进程上同时使用32位和64位的Asp.Net。

公司服务器出于性能考虑,用了64位系统。相应的msmdpump.dll文件也是64位的,但IIS的应用程序池进程是多少位的,我倒还真没考虑过。任务管理器一看,只有一个"w3wp.exe * 32”,果然是32位的。那问题的原因应该是,32位的应用程序池无法加载64位的Isapi处理器

知道了问题所在,解决方法也很简单,启动一个64位的应用程序池就行了。打开应用程序池的高级设置,找到了“启用32位应用程序(enable32bitAppOnWin64)”的设置,将其从原来的True改成False(默认值为False)。这个选项的作用就是允许在64位操作系统上,以32位的应用程序池去加载32位的程序。

enable32bitAppOnWin64

之所以会突然出现这个问题,是因为IIS的机器配置文件ApplicationHost.config文件中,全局应用程序池的enable32bitAppOnWin64默认值被意外修改为True。而我部署的IIS网站,由于没有显式设置此选项,因此会继承ApplicationHost.config文件中的默认值。

——Kevin Yang