Asp.net mvc 在ASP.NET MVC中,为什么发布网站后会出现404个错误?
我对ASP.NETMVC还是一个新手,我在路由方面有点困难 使用ASP.NET开发服务器(直接从Visual Studio运行),我的应用程序可以毫无问题地找到其视图。使用标准ASP.NET URL-Asp.net mvc 在ASP.NET MVC中,为什么发布网站后会出现404个错误?,asp.net-mvc,routing,Asp.net Mvc,Routing,我对ASP.NETMVC还是一个新手,我在路由方面有点困难 使用ASP.NET开发服务器(直接从Visual Studio运行),我的应用程序可以毫无问题地找到其视图。使用标准ASP.NET URL-http://localhost:1871/InterestingLink/Register 然而,当我将我的站点发布到IIS并通过MyFancyApplication/InterestingLink/Register访问它时,我得到了一个404错误 对可能出现的问题有什么建议吗 更多信息 这是我的
http://localhost:1871/InterestingLink/Register
然而,当我将我的站点发布到IIS并通过MyFancyApplication/InterestingLink/Register访问它时,我得到了一个404错误
对可能出现的问题有什么建议吗
更多信息
这是我的global.asax文件的外观(标准):
我的控制器也很简单:
public class InterestingLinkController : Controller
{
public ActionResult Register()
{
return View("Register");
}
}
很多事情都可能出错:
- IIS虚拟目录和应用程序设置是否正确
- 是否正在调用ASP.NET应用程序?(在
和应用程序\u Start
中添加一些日志记录/中断点)应用程序\u BeginRequest
(为了避免类似的问题,我很少使用开发服务器,而是一直使用IIS:最困难的是每次都要记住运行VS提升版。)我发现了问题所在。问题实际上是,当URL不包含.ASPX时,IIS5(在Windows XP中)不会启动ASP.NET。解决此问题的最简单方法是将“.aspx”添加到global.asax中的控制器部分。例如:
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
不漂亮,但可以
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);