2010-10-22 80 views
0

我尝试部署一个简单的mvc2应用程序。但它不起作用。 我的托管服务提供商是qualityhosting.de,他们支持mvc。Asp.Net MVC2部署

我看到主页“我的MVC应用程序 - 欢迎使用ASP.NET MVC!”但在点击“关于”后点击 (例如)我得到了“无法找到该页面”。

有人可以帮我吗?

谢谢!

+0

也许您的托管服务提供商可以帮助您,因为这不是一个真正的编程相关问题? – 2010-10-22 07:53:55

+0

你知道你的提供者正在运行什么版本吗? – 2010-10-22 07:54:22

+0

对不起,我不知道哪个版本在那里运行。 – Denis 2010-10-22 10:26:04

回答

1

这意味着URL重写机制不起作用。您应该了解您的提供商需要什么来启用它们:也许您需要转到控制面板并启用某些功能?

+1

谢谢大家,但没有效果;)我试着改变路线。没有在管理面板中设置更改网址重写或类似的东西。我不知道我的提供程序正在运行的是哪个版本的IIS。我写了一个支持请求。也许他们可以帮助我。其他想法? – Denis 2010-10-22 10:25:15

1

这很可能是因为您的托管服务提供商未配置为将扩展少的URL作为ASP.NET页面处理。

为此,您需要检查您是否可以使用您的托管服务提供商来配置此项,或者您可以选择更改您的路线,以便在您的路线中包含.aspx(其中当然配置为使用ASP.NET)扩展名。然而,这使得“默认”多一点棘手,因为你需要为所有的“级别”显式路由,即

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

变为

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

routes.MapRoute(
    "MainAction", 
    "{controller}/{action}.aspx", 
    new { controller = "Home" } 
); 

routes.MapRoute(
    "Main", 
    "{controller}.aspx", 
    new { controller = "Home", action = "Index" } 
); 
+0

你可能是对的。在IIS 6中需要更改一项设置,使所有请求都通过IIS管道。我不记得需要在IIS7上改变它。 – 2010-10-22 08:21:27

+0

我试图改变路线。没有影响:( – Denis 2010-10-22 10:26:31

+0

而你正在请求/home/about.aspx? – veggerby 2010-10-22 10:59:50