2010-05-24 66 views
1

我有一個實際上在其他服務器上的MVC應用程序,但我沒有做部署。對於這個部署,我添加了通配符到aspnet_isapi.dll,它已經擺脫了404錯誤。但這些網頁並沒有拉上,而是一切都只是空白。我似乎無法找到任何IIS配置差異。全局asax.cs文件確實具有路由定義,但正如我在工作服務器上看到的那樣,該文件不僅僅侷限於根目錄或任何顯而易見的內容。我在這裏可能會錯過什麼?部署ASP.NET MVC到IIS6:頁面只是空白

所有的服務器都在運行IIS6,我已經比較了這些設置,在這一點上它們看起來和我一樣。

謝謝... 布萊恩

編輯迄今的評論: 我看了在沒有運氣的事件日誌,並搜遍每王志文各種IIS日誌:blogs.msdn.com

下面是的Global.asax.cs文件...

public class MvcApplication : System.Web.HttpApplication 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("error.axd"); // for Elmah 

     // For deployment to IIS6 
     routes.Add(new Route 
     (
      "{controller}.mvc/{action}/{id}", 
      new RouteValueDictionary(new { action = "Index", id = (string)null }), 
      new MvcRouteHandler() 
     )); 

     routes.MapRoute(
      "WeeklyTimeSave", 
      "Time/Save", 
      new { controller = "Time", action = "Save" } 
     ); 

     routes.MapRoute(
      "WeeklyTimeAdd", 
      "Time/Add", 
      new { controller = "Time", action = "Add" } 
     ); 

     routes.MapRoute(
      "WeeklyTimeEdit",            
      "Time/Edit/{id}",          
      new { controller = "Time", action = "Edit", id = "" } 
     ); 

     routes.MapRoute(
      "FromSalesforce", 
      "Home/{id}", 
      new { controller = "Home", action = "Index", id = "" }); 

     routes.MapRoute(
      "Default2", 
      "{controller}/{id}", 
      new { controller = "Home", action = "Index", id = "" } 
     ); 

     routes.MapRoute(
      "Default", 
      "{controller}/{action}/{id}", 
      new { controller = "Home", action = "Index", id = "" } 
     ); 

    } 

    protected void Application_Start() 
    { 
     RegisterRoutes(RouteTable.Routes); 
    } 
} 

也許這是愚蠢爲不是ASAX文件某處它需要的,但如果我知道在這一點挫折感。

+0

IIS日誌是否顯示請求?事件日誌中的任何內容? – 2010-05-24 14:24:21

+0

我剛剛完成了一個應用程序,開發時使用IIS7(所以我可以有完整的REST URL),但必須在IIS6上部署(需要.aspx頁面) 我記得爲了使它工作的唯一修改是添加IIS 6可以處理的特定路由。 (「MyPage」,「MyPage/...」) routes.MapRoute(「MyPage.aspx」,「MyPage.aspx/...」) – Justin 2010-05-24 14:52:31

回答

2

這裏是主引導,幫助我走出最當部署ASP.NET MVC 1.0 IIS6:

http://www.hanselman.com/blog/DeployingASPNETMVCOnASPNET20.aspx

而且由於它有點屠夫在REST架構友好名稱,整體構思繼承人解決文件擴展名的問題:

HTTP:/ slashflux88DOTcom /博客/使用-ASP淨MVC-ON-IIS-6-沒有最MVC擴展/

對不起,混淆網址,所以打了我一個垃圾郵件克爾。

+0

這是我們的「其他」已安裝3.5。我認爲所有這些都歸結爲我沒有看到的IIS /虛擬目錄URL路由。但是,Hanselman鏈接對於運行MVC 2.0來說非常有用。 – BryanGrimes 2010-06-03 20:26:13