gpt4 book ai didi

node.js - 使用 iisnode、nodejs 和 node-soap 库时 Win32 应用程序无效

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:35 25 4
gpt4 key购买 nike

我在使用 iisnode 和 node.js 0.10.20 设置在 IIS 7、Windows Server 2008 上运行的 Node.js/Node-soap 服务时遇到一些问题。相同的设置,具有相同的代码,在内部的另一台服务器上运行并且运行良好。问题在于设置过程没有记录下来,并且设置所有内容的人无法将其迁移到新服务器。而且我对 Node 和 IISnode 都没有先验知识。

这是打印的错误消息:

iisnode encountered an error when processing the request.

HRESULT: 0x2 HTTP status: 500 HTTP reason: Internal Server Error You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stderr is shown below:

Application has thrown an uncaught exception and is terminated: Error: %1 is not a valid Win32 application.

\node_modules\soap\node_modules\node-expat\build\Release\node_expat.node

at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (<Path to application>\node_modules\soap\node_modules\node-expat\lib\node-expat.js:4:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
  • 我已将以下内容添加到我的 Node.js 文件中:

现在我在网上找到的,尝试过但没有成功的,如下:

  1. 从这个 Stack Overflow question 中,我尝试了两件事:

    • 将此部分添加到我的 Node.js 文件中。

      <iisnode watchedFiles="*.js;node_modules\*;routes\*.js;views\*.jade" nodeProcessCommandLine="\program files\nodejs\node.exe"/>
    • 创建了符号链接(symbolic link):

      mklink /D "C:\Program Files (x86)\nodejs" "C:\Program Files\nodejs"

如果我尝试其他方法,将会更新。

所有帮助将不胜感激。

更新 1:我已确保在 IIS 中设置了 Enable32-Bit Applications = False.,并修复了 VS 2010 x64 redist 二进制文件

最佳答案

此错误消息表明\node_modules\soap\node_modules\node-expat\build\Release\node_expat.node 的位数与 IIS 工作进程 (w3wp.exe) 的位数不匹配。由于您似乎正在使用 64 位工作进程运行 IIS(启用 32 位应用程序 == False),因此可能表明 node_expat.node 是 32 位二进制文​​件?

关于node.js - 使用 iisnode、nodejs 和 node-soap 库时 Win32 应用程序无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19320734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com