【问题标题】:Is it absolutely necessary to manually configure IIS6 to use ASP.NET MVC?是否绝对需要手动配置 IIS6 才能使用 ASP.NET MVC?
【发布时间】:2010-10-08 21:09:18
【问题描述】:

我有一个虚拟主机回复我,无法更改 IIS6 设置来设置 .mvc 到 Asp.Net ISAPI dll 的映射,也无法启用通配符应用程序映射。

简而言之,我无法更改任何 IIS 设置。

有没有办法在这种情况下运行 ASP.NET Mvc?

注意:我在这里阅读了一些与此相关的问题,但在某些情况下并没有理解它们,而且这不是我在其他情况下需要的。如果在将其作为重复项关闭之前,我将不胜感激,请解释原因,也许是对另一个问题的解释。

谢谢

【问题讨论】:

  • 是否可以尝试将该帖子中指定的路由添加到 *.mvc.aspx 中?
  • 所以连.aspx的映射都不存在也无法完成?
  • 存在到 .aspx 的映射,我有另一个网站,那里有 webforms 工作……我喜欢重新路由 .mvc.aspx 的东西;好像不需要iis级别的配置
  • 我以后要试试,你为什么不把它作为回复发布呢? :)

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


【解决方案1】:

对于我所调查的你必须采取的方法,一种是告诉 IIS 所有页面都必须通过 ASP.NET - gif、css 等 - 这样 asp.net 知道如何处理每个页面。另一种是写一个HttpModule,或者类似的东西。我做了第一个。我不相信你还有其他选择。

也许这会有所帮助: ASP.NET MVC on IIS6

【讨论】:

  • 但我无法触及 IIS 配置,所以#1 不适合我
【解决方案2】:

如果映射到 .aspx 存在,请尝试找到 here 的解决方案添加一个路由以结束 *.mvc.aspx

routes.Add(new Route("{controller}.mvc.aspx/{action}", new MvcRouteHandler())
{
    Defaults = new RouteValueDictionary (new{ controller = "YourController"} )
});

【讨论】:

  • 或者只是 .aspx routes.MapRoute("Main", "{controller}/{action}.aspx", new { controller = "Home", action = "Index" }); routes.MapRoute("Default", "", new { controller = "Home", action = "Index" });
  • 我实际上可以使它与 veggerby 的映射一起使用,但由于某种原因另一个不起作用。在 veggerby 回来并作为答案发布之前,这将是被接受的。谢谢大家!
猜你喜欢
  • 2012-03-31
  • 2018-08-23
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
  • 2017-07-14
相关资源
最近更新 更多