将 ASP.Net MVC 4 应用程序部署到 IIS 6 - 捆绑包不起作用

将 ASP.Net MVC 4 应用程序部署到 IIS 6 - 捆绑包不起作用

我们有一个 ASP.Net MVC 4 应用程序,我们正尝试将其部署到运行 IIS 6 的 Windows 2003 计算机上。我们将其运行在单独的应用程序池中,并设置为使用 asp.net 4.0。我们有一个 Wildcard 应用程序映射到 aspnet_isapi.dll,这是显示页面所必需的。

我们现在遇到的问题是,asp.net mvc 4 中的捆绑功能不起作用。当您尝试跟踪 /js?v=ASDfljkFSDlkjDSF 链接时,您会得到 404 返回。

我们知道它使用无扩展名的 URL,但如果我没记错的话,这些应该由 Wildcard 应用程序映射来处理?

有谁做到过这个工作或者有任何想法吗?

答案1

我知道这是很久以前的事了,但我在使用捆绑表的 Web 表单应用程序上遇到了这个问题。它作为自己的网站运行,而不是在虚拟目录下。IIS 不知道从哪里获取捆绑包(正如 ShaneC 所说)。

在虚拟目录的属性 --> 配置 --> 映射中,我插入了一个通配符条目“C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll”,并取消选中验证文件是否存在。

这对我有用。

答案2

IIS6 不知道哪个处理程序来处理类似 的扩展 URL 请求/js?blahblahblah,因此它假定该文件是静态的,并查找它,如果找不到,则返回 404。

查看这个帖子解决方法

答案3

问题在于我们在为 ASP.Net 2.0 配置的默认网站下作为为 ASP.Net 4.0 配置的虚拟目录运行。

我们创建了一个新网站,并将其设置为 asp.net 4.0,一切运行正常。根据此帖子被黑客入侵无扩展名的 URL 现在应该可以在大多数 IIS 6 实例上运行。

相关内容