我收到以下错误:
“服务不可用。服务器错误 Macromedia 应用程序服务器无法访问或均没有映射来处理此请求。”
我已经有一个带有 ColdFusion Mobile 应用程序的文件夹(例如 /mobile/qr-image/),然后我在 ASP.NET 中创建了一个移动模板并将 /mobile 转换为 IIS 应用程序。
因此,在 /mobile/ 您会收到网站的 ASP.NET 移动模板,但在 /mobile/qr-image/ 您会收到网站的 ColdFusion 移动模板。
只有.. /mobile/ 运行良好,但当我尝试查看 /mobile/gr-image/ 时出现错误。
我想如果你想在 ASP.NET 应用程序文件夹内运行 ColdFusion 应用程序,这没有意义,而且从逻辑上讲也行不通,但是在 IIS 中有没有办法可以让它工作呢?
我正在使用 IIS7.5,并且使用的是 Windows Server 2008R2
哦,删除 ColdFusion 应用程序并将其放入另一个文件夹并不是一个可行的解决方案。
有什么想法吗?有可能吗?
提前致谢
编辑- 添加了我的 Web.config 的内容:
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<remove name="AboMapperCustom-20623"/>
<remove name="AboMapperCustom-25687"/>
<remove name="AboMapperCustom-24453"/>
</handlers>
</system.webServer>
</configuration>
答案1
简短的回答:是的,您可以使其工作,但关键的配置部分是确保您使用“经典模式”应用程序池而不是“集成模式”应用程序池。
长答案:首先,确保您使用的是 ColdFusion 9.0.1,如果您必须运行 IIS7 集成模式应用程序池,它支持这些应用程序池。但是,如果您想在集成模式下运行,在同一个应用程序池中同时运行 ColdFusion 和 ASP.NET,您将无法在 ASP.NET 页面的任何地方使用 ASP.NET 验证器。要使其正常工作,您必须在经典模式下运行,该模式不使用 IIS 的模块/处理程序管道。目前 .NET 框架中有一个错误(在 .NET 4.0 中仍未修复,因为我本周早些时候刚刚测试过它,并已向 Microsoft 提交了一个错误),它涉及 Web.config 或 applicationHost.config 中 WebResource.axd 的配置测试方式。最终发生的结果是,对 WebResource.axd 的无效检查最终击中了 ColdFusion 的 catch-all 处理程序,测试失败,抛出一个死机黄屏,指出 WebResource.axd 配置不正确。这是无稽之谈,因为它默认配置正确,并且他们在错误消息中给你的修复代码是完全错误的。
查看IIS7.net 帖子有关此问题的更多信息,请参阅此错误。
答案2
是的,您可以让它工作。您可能需要调整 web.config 文件,该文件中可能包含特定的排除项 - 我会检查 .NET 应用程序的“兼容模式”是否存在位数问题(32 位/64 位)。
答案3
要查看的其他项目是虚拟目录的通配符映射。有时 Cold Fusion 不喜欢共存。C:\ColdFusion9\runtime\lib\wsconfig\2\jrun_iis6_wildcard.dll
在 VD 上添加映射