MVC3 - 所有路由都在本地但不是远程工作

时间:2011-02-16 03:56:27

标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我有一个新的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应用程序没问题)。我已经使用“发布到文件系统”选项进行部署,然后复制文件以及仅复制整个源项目。两者都给出了相同的结果。

任何想法为什么?

谢谢,

史蒂芬

1 个答案:

答案 0 :(得分:0)

您是否确保将MVC 3 Framework安装到Web服务器,并且您的站点的应用程序池设置为4.x ASP.net?