我有一个新的MVC3项目,其中一个Controller名为PublicController.cs,它包含4个相同的方法来测试路由的工作原理。它们之间的唯一区别是它们的名称,它们各自指向不同的视图......
public class PublicController : Controller
{
//
// GET: /Public/
public ActionResult Index()
{
return View();
}
//
// GET: /Public/App
public ActionResult App()
{
return View();
}
//
// GET: /Public/Press
public ActionResult Press()
{
return View();
}
//
// GET: /Public/Contact
public ActionResult Contact()
{
return View();
}
}
通过访问这些URL,我可以在开发服务器中运行时找到所有这些...
http://localhost:53367/Public/
或其等价物
http://localhost:53367/Public/Index
然后
http://localhost:53367/Public/App
http://localhost:53367/Public/Press
http://localhost:53367/Public/Contact
但是,一旦将其部署到我的远程ASP.NET 4.0服务器,只有两个有效:
http://localhost:53367/Public
http://localhost:53367/Public/Index
...所有其他人都给我一个404资源无法找到错误。
我的web服务器与netcetera共享托管,使用子域进行此部署(以前在虚拟目录中存在MVC问题,但是在子域中运行的完整MVC2应用程序没问题)。我已经使用“发布到文件系统”选项进行部署,然后复制文件以及仅复制整个源项目。两者都给出了相同的结果。
任何想法为什么?
谢谢,
史蒂芬
答案 0 :(得分:0)
您是否确保将MVC 3 Framework安装到Web服务器,并且您的站点的应用程序池设置为4.x ASP.net?