ASP.NET MVC - 如何使其与IIS6一起使用

时间:2010-08-26 12:16:20

标签: asp.net asp.net-mvc deployment iis-6 asp.net-4.0

我在IIS 6服务器上部署MVC 2应用程序时遇到了一些问题。

我有以下项目结构:

/
   App/
      Controllers/
      Helpers/
      Infrastructure/
      Models/
      Views/
   Public/          # This folder contains CSS and JS files
   Global.asax
   Web.config

我有一个自定义System.Web.Mvc.WebFormViewEngine,告诉我的应用程序在/App/Views而不是默认/Views中查看视图。

它适用于Cassini和IIS 7.5。

我需要在IIS 6上的虚拟目录中部署我的应用程序,并且在尝试访问任何控制器时遇到404错误。

我读到我需要添加Default.aspx后面的代码:

protected void Page_Load( object sender, EventArgs e ) {
    HttpContext.Current.RewritePath( Request.ApplicationPath, false );
    IHttpHandler httpHandler = new MvcHttpHandler();
    httpHandler.ProcessRequest( HttpContext.Current );
}

它实际上调用了我的默认控制器,并显示了相应的视图,但它是我迄今为止唯一能够获得的页面。

我尝试启用通配符映射,它没有改变任何东西。但我正在使用ASP.NET 4.0和it enables routing of extension-less URLs

我现在不确定该怎么做,我在互联网上找不到任何其他有用的信息来源。

我怎么能让它发挥作用?

2 个答案:

答案 0 :(得分:2)

见Phil Haack的this walkthrough

答案 1 :(得分:1)

还不能发表评论,但那次演练就是这样。 我自己做了通配符。

就在不久之前,所以我不记得我现在必须做些什么才能修好它,但它花了我几个小时。 如果我没记错的话,我在他的指示中遗漏了一些非常小的细节。你得到什么错误/不正确的行为?你可能会触发我的记忆。