我的ASP.NET MVC网站存在问题。
这些是详细信息:
每当我发出应用程序请求时,我都会收到“HTTP错误404.0 - 未找到”错误,详细错误信息显示它是报告错误的静态文件处理程序:
表示请求从未进入MVC堆栈。
我应该注意到,IIS已经在同一个应用程序池上运行ASP.NET MVC 3,在ASP.ENT 2应用程序池上运行MVC 2。因此,ASP.NET 4应用程序池中的组合ASP.NET 2令我头疼。
基本上我想将应用程序从ASP.NET 2.0应用程序池上的ASP.NET MVC 2升级到ASP.NET 4.0应用程序池上的ASP.NET MVC 2。
所有想法?
答案 0 :(得分:26)
我看到你修复了你的问题,但对任何人用谷歌搜索:
我有这个问题,在我的情况下,我只需要在IIS中注册ASP.NET 4。我正在删除并重新添加网络以修复其他问题而忘记这样做。对我有用的命令是:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i
您自己的.net版本可能会有所不同,特别是如果您将来,所以上述路径可能不完全正确。
答案 1 :(得分:13)
在安装Visual Studio等之后安装IIS 时遇到了同样的问题。
我能够通过更改我的Web.config文件来修复此问题,并将runAllManagedModulesForAllRequests="true"
添加到<modules>
标记:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
...
</modules>
</system.webServer>
(更多细节/从这里复制:http://www.west-wind.com/weblog/posts/2011/Mar/27/ASPNET-Routing-not-working-on-IIS-70)
答案 2 :(得分:0)
Chris回答让我检查应用程序池是否实际配置为.net 4.果然,此服务器默认在经典模式下创建32位.net 2池。
确保您的应用使用的是4.0,并且您可能希望所有新开发的集成管道。 32/64主要取决于您的依赖项。默认情况下,将“允许32位分配”设置为false。
答案 3 :(得分:0)
在我的情况下,由于let options = {
method: 'GET',
url: 'https://api.getpostman.com/environments',
header: {
'x-api-key': 'PMAK-your own key goes here'
},
json: true
};
let envs = [];
pm.sendRequest(options, function(err, response) {
if (!err) {
let data = response.json();
_.forEach(data.environments, function(item) {
envs.push(item);
});
console.log(envs);
} else {
console.log(err);
}
});
被禁用/无法正常工作而引发了类似的错误。我最终通过删除处理程序并通过StaticFile Handler
重新添加了它来修复它。另外,如果出现web.config
错误,请将403.3
属性值从“写入”更改为“读取”
RequireAccess
答案 4 :(得分:-7)
所以我发现了错误。根目录中有一个剩余的默认文档,对于使用集成管道的应用程序来说,这不是必需的。此外,Global.ascx和路线注册的一些变化是必要的,但在此之后它起作用了。