我最近负责修复一个已关闭的帮助页面。我之前没有上过一次,所以我跳进去开始玩它。我注意到我们为帮助页面设置了这条路线:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"HelpPage_Default",
"api/v1/Help/{action}/{apiId}",
new { controller = "Help", action = "Index", apiId = UrlParameter.Optional });
HelpPageConfig.Register(GlobalConfiguration.Configuration);
}
我将它与另一个有效的帮助页面路线进行了比较,发现网址不同。我将网址更改为
"Help/{action}/{apiId}"
它有效。我已经在网上完成了一些研究(this helped),但仍然无法理解为什么更改网址会对该网页是否会受到影响产生任何影响。如果我去mydomain.com/api/v1/Help我仍然会使用原始网址访问帮助页面,这对我来说是有道理的。
提前谢谢。
答案 0 :(得分:1)
路由你所拥有的" api / v1 / Help / {action} / {apiId}"这是错误的,因为路线的格式应该是[Controller] / [Action] / [Id],你的控制器不是帮助" api / v1" 。
并回答你的问题&m; 34 mydomain.com/api/v1/Help"这个网址点击了帮助页面,是的,如果您提供" help / {action} / apidid"网址中的网址。
" API / V1"在此,您的IIS虚拟目录设置不是应用程序配置中的路由。