gpt4 book ai didi

asp.net - IIS为ASP.NET MVC3文件(.cshtml)返回404

转载 作者:行者123 更新时间:2023-12-04 03:40:17 24 4
gpt4 key购买 nike

我有标准的ASP.NET 4应用程序。在此应用程序内部,也几乎没有 Razor (例如test.cshtml)文件。但是,如果我将浏览器指向/test文件(无扩展名),则ASP.NET应用程序可以工作。 IIS(静态文件处理程序)返回404。

相同的应用程序甚至独立的.cshtml文件都在本地计算机(带有IIS7.5/Win7)和带有(IIS7.5/Win2008R2)的服务器上运行,但是在IIS7.0/Win2008上的服务器上不起作用。

两台计算机上都安装了MVC3,两台计算机上的应用程序池都集成了.NET 4.0。

.cshtml处理程序如何工作?当IIS决定使用静态文件处理程序以及.cshtml处理程序时?我还应该检查什么?

编辑:

澄清-我实际上并没有使用整个MVC框架,就像普通的.ASPX或PHP文件一样。没有 Controller ,没有路线,没有“景观”。除了旧的ASP.NET应用程序之外,我还将其用于简单的脚本。

我认为这不是编程问题,因为它可以在本地计算机上运行,​​而是一个配置问题-Win2008服务器上的IIS可能未正确配置。

编辑2:

(带有IIS7.5的机器可以工作,只有带有IIS7.0的机器不能工作。但是我不确定这是否是IIS版本的问题。)

EDIT3:

在可以运行的本地计算机上,我尚未设置任何路由。 TheCodeKing和Keith建议我需要在某处进行路由。也许可以,但是不在我的应用程序中。默认情况下,它可以在IIS配置中的某个位置进行设置。

您是否有任何暗示可以找到此“隐式”路由?

编辑4:

注意:在所有计算机上,HttpForbiddenHandler都有*.cshtml,因为您无法下载cshtml文件。还有TransferRequestHandler*.。 (两个都启用。)

编辑5:

我发现在服务器上,它在哪里工作,我需要在Web根目录中有任何.cshtml文件。如果我从网络根目录中删除了.cshtml并尝试从子目录中调用它,那么它将无法正常工作。

EDIT6:

我在另外两台机器上尝试过:一台使用IIS 7.5,另一台使用IIS 7.0。在IIS 7.5上它可以工作(无配置安装),但是在IIS 7.0上则不能工作。

如何使其在IIS 7.0上运行?

最佳答案

耶!经过几天的努力,我找到了它! :))

使它在 IIS 7.0 上工作的一种方法是启用runAllManagedModulesForAllRequests:

<modules runAllManagedModulesForAllRequests="true" />

(尽管在 IIS 7.5 上,即使使用默认值 runAllManagedModulesForAllRequests="false",它也可以工作。)

不要问我为什么:)也许有人可以解释这一点。

关于asp.net - IIS为ASP.NET MVC3文件(.cshtml)返回404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7366925/

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