加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 映射以特定URL部分/关键字开头的所有路由

发布时间:2020-12-17 00:09:38 所属栏目:大数据 来源:网络整理
导读:我正在我的个人图书馆建立各种单元测试的测试中心,我想要一个易于访问的测试API路由.所以我在路由配置中有两个条目:默认和我的自定义路由… routes.MapRoute( name:="Default",url:="{controller} / {Action} / {id}",defaults:=New With {.controller = "H
我正在我的个人图书馆建立各种单元测试的测试中心,我想要一个易于访问的测试API路由.所以我在路由配置中有两个条目:默认和我的自定义路由…
routes.MapRoute(
            name:="Default",url:="{controller} / {Action} / {id}",defaults:=New With {.controller = "Home",.action = "Index",.id = UrlParameter.Optional}
        )

        routes.MapHttpRoute(
                name:="UnitTests",routeTemplate:="test/{category}/{testname}",defaults:=New With {.controller = "TestApis",.action = "testme",.category = "TestCategoryOne",.testname = UrlParameter.Optional}
            )

这个想法是,每当我想打电话给我的测试API控制器时,我只需使用“test /”添加该URL,它将知道将其重定向到我的“TestApisController”. . .但似乎已经破坏了我的默认路由.

有没有办法可以将所有以“test /”开头的路线映射到特定的控制器,同时不会破坏我的默认路由?

编辑

所以经过一段时间,我意识到这种方法不起作用的原因与路线无关.我在“WebApiConfig”文件中定义了另一个默认的API路由,导致一些问题.我很抱歉,我仍然从Webforms转换到MVC.

由于您尝试路由到的控制器是Web Api控制器,因此您将要将自定义路由放在WebApiConfig.vb文件中.路由应该超过该文件中的默认路由,因为它比默认路由更具体,如@Stephen Muecke所指出的.你的原始代码会改变一点,而不是routes.MapHttpRoute你会有config.Routes.MapHttpRoute,像这样:
config.Routes.MapHttpRoute( _
    name:="UnitTests",_
    routeTemplate:="test/{category}/{testname}",_
    defaults:=New With {.controller = "TestApis",.testname = UrlParameter.Optional}
)

在某些情况下,当我想要路由到特定的控制器时,我也做了同样的事情,并且在路由上还包括自定义的认证处理程序,你想做什么应该工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读