首页 新闻 会员 周边

ASP.NET Web API的路由有研究过吗?route.GetRouteData(virtualPathRoot,request);

0
悬赏园豆:20 [已关闭问题] 关闭于 2017-02-27 12:21

按照老A书上讲的,GetRouteData首先会提取request中的请求uri,切割下。如http://www.abc.com/a/b/c被切割成真实路径/a/b/c。然后跟virtualPathRoot去进行匹配,这里设置virtualPathRoot为/a/,若真实路径是以virtualPathRoot为前缀的话,则第一步匹配成功,否则直接返回null。然后会去掉该前缀,即现在路径变为 /b/c ,再去匹配route自身的路由规则,这里route的路由规则设置为/b/{controller},若匹配成功,返回非null对象。

遇到的问题是:我实际调试后发现,第一步匹配成功后,不会去掉该前缀。且若第一步匹配失败也不会直接返回null。或者说GetRouteData的第一个参数virtualPathRoot根本不起作用。求解惑

大兄弟竹子的主页 大兄弟竹子 | 初学一级 | 园豆:55
提问于:2016-09-25 17:18
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册