如何从 32 位 ASP 应用程序查询 Windows 2008 x64 索引服务?
最近我偶然发现一个问题,涉及将 ASP 经典站点从 w2k3 服务器移动到 w2k8 64 环境。它涉及到让索引服务与 asp classic 一起使用。我到处寻找,尝试了很多解决方案,但都失败了。
问题: 在 32 位应用程序池上运行 64 位索引服务(对于 asp classic) 向索引服务运行请求的 ASP 页会导致服务器对象无法加载的错误。尽管索引服务正在运行,并且包含索引站点文档的文件夹正在以 64 位模式运行,而池以 32 位模式运行。不可能跑了。
一些建议的解决方案是重写代码以使用新的“windows 搜索”,但由于这也在 64 位中运行,因此无法在 32 位应用程序模式下运行。在池中切换到 32 位兼容模式会导致 ASP 站点使用的数据库和其他 com 对象无法工作。
Recently I stumbled upon a problem that involves moving asp classic sites from a w2k3 server to a w2k8 64 environment. It involved getting indexing services to work with asp classic. I searched every where tried many solutions and they all failed.
The problem:
running a 64bit indexing service on a 32bit application pool (for asp classic)
ASP pages running request to the indexing service resulted in error where the server object failed to load. although the indexing service was running and the folder containing documents of the site where indexed the indexing service was running in 64bit mode and the pool in 32bit mode. It was not possible to run.
Some of the suggested solutions was to rewrite the code to use the new 'windows search' But since this is also running in 64bit it could not be run in 32bit application mode. Switching to 32bit compatible mode off in the pool resulted of not working databases and other com objects used by the asp sites.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几天后,我几乎要放弃了,但在半夜,我想到了一个绝妙的主意,让一切顺利进行。如果我对以 64 位模式运行的 Web 服务器上的子域进行 ajax 调用,并且虚拟目录包含以 32 位应用程序模式运行的站点的索引目录,该怎么办?
第二天,经过不安的睡眠后,我开始工作,在 IIS7 中添加了一个新的子域,将虚拟目录添加到网站的索引目录中。并添加了一个包含请求处理程序的“indexer.asp”页面。
然后我在以 32 位应用程序模式运行的网站之一上发出了一个请求页面:
`
说明:
好处:
After a couple of days I almost given up but in the middle of the night I got a brilliant idea to get it all working. What if I make a ajax call to a sub domain on the webserver which is running in 64bit mode with virtual directories containing the indexed directories of the sites running in 32bit application mode.
Next day after a restless sleep I got to work, added a new subdomain in IIS7 added virtual directories to the indexed directories of the websites. and added a 'indexer.asp' page which contains a request handler.
Then I made a request page on one of the websites running in 32bit application mode:
`
Explanation:
Benefits: