我有一个新的 MVC3 项目,其中有一个名为 PublicController.cs 的 Controller ,其中包含 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 找不到资源错误。
我的网络服务器与 netcetera 共享托管,使用子域进行此部署(以前在虚拟目录中使用 MVC 时遇到问题,但在子域中运行完整的 MVC2 应用程序没有问题)。我通过使用“发布到文件系统”选项进行部署,然后复制文件以及复制整个源项目。两者给出相同的结果。
有什么想法吗?
谢谢
史蒂文
最佳答案
您是否确保 Web 服务器上安装了 MVC 3 Framework,并且您网站的应用程序池设置为 4.x ASP.net?
关于asp.net - MVC3 - 所有路由都在本地工作,但不能远程工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5012387/