我正在尝试将 iisnode 的示例作为现有 ASP.Net MVC 网站中的应用程序运行,但遇到了问题。
IIS 是 Windows 2008 R2 上的 7.5 版
样本位于 \program files\iisnode\www\
我设置了两种访问 iisnode 示例的方法:
- 作为端口 82 上的单独网站,指向 \program files\iisnode\www\ 。当我导航到 时
http://localhost:82/helloworld/hello.js
,这工作正常,作为回报,我得到
你好世界![helloworld示例;iisnode版本为0.2.7,node版本为v0.8.22]
当我导航到我的 Asp.net Web Forms + MVC 网站时,作为指向相同 \program files\iisnode\www\ 的“节点”应用程序
http://localhost/node/helloworld/hello.js
,我收到 HTTP 500 错误:- 模块 iisnode
- 通知 ExecuteRequestHandler
- 处理程序 iisnode
- 错误代码 0x8007000d
一件令人惊奇的事情是,http://localhost/node/helloworld/hello.js
在我导航到http://localhost:82/helloworld/hello.js
. 然后http://localhost/node/helloworld/hello.js
将开始工作!...如果我执行 iisreset 那么它将不再起作用...(直到我导航到http://localhost:82/...
)。
我必须补充一点,为了测试目的,网站和应用程序共享同一个应用程序池,它作为本地系统运行,Enable32BitApplication = false,.Net Framework 4.0,集成。
在尝试使用该应用程序失败后,该网站被添加用于测试目的。所以我不认为问题来自冲突。两者都使用匿名身份验证,没有模拟。
激活跟踪后,我可以掌握以下错误消息
iisnode 无法初始化新的 node.exe 进程
似乎该网站能够激活应用程序无法激活的 node.exe 进程。而且,一旦被网站激活,node.exe 进程就可用于共享应用程序池中的应用程序。
有人可以指出我正确的方向,以便我能够在现有网站中使用 iisnode 作为应用程序吗?