首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么MapHttpAttributeRoutes()不添加来自属性的路由?

MapHttpAttributeRoutes()方法是ASP.NET Web API中用于映射属性路由的方法。它的作用是将带有路由属性的控制器和动作方法映射到相应的URL路径上。

属性路由是一种通过使用特性来定义路由的方式,它可以更加灵活地定义URL路径和参数。使用属性路由可以使代码更加清晰和易于维护,同时也可以提供更好的路由控制和URL设计。

然而,MapHttpAttributeRoutes()方法不会自动添加来自属性的路由,这是因为在ASP.NET Web API中,默认情况下,属性路由是禁用的。要启用属性路由,需要在WebApiConfig.cs文件中进行配置。

启用属性路由的步骤如下:

  1. 打开WebApiConfig.cs文件。
  2. 在Register方法中,添加以下代码:config.MapHttpAttributeRoutes()。
  3. 保存并重新编译项目。

通过以上步骤,MapHttpAttributeRoutes()方法将会扫描控制器和动作方法中的路由属性,并将它们映射到相应的URL路径上。

属性路由的优势在于可以更加灵活地定义URL路径和参数,使代码更加清晰和易于维护。它适用于需要自定义URL路径和参数的场景,例如RESTful API设计、版本控制、区域化等。

腾讯云提供的相关产品和服务中,与属性路由相关的是腾讯云云服务器(CVM)和腾讯云API网关。腾讯云云服务器提供了强大的计算能力和灵活的网络配置,可以用于部署和运行Web API应用程序。腾讯云API网关是一种托管式API服务,可以帮助开发者更好地管理和发布API,支持属性路由等高级路由功能。

腾讯云云服务器产品介绍链接:https://cloud.tencent.com/product/cvm 腾讯云API网关产品介绍链接:https://cloud.tencent.com/product/apigateway

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Asp.Net Web API 2第八课——Web API 2中属性路由

较早基于公约路由风格是全面被支持。事实上,你能够在同一个项目中联合使用这两种技术。   本文主要展示如何启用属性路由,并且描述了属性路由各种选项,内容如下:   1、为什么使用属性路由?   ...2、启用属性路由   3、添加路由属性   4、路由前缀   5、路由约束   6、可选URI参数和默认值   7、路由名称   8、路由顺序 1、为什么使用属性路由   第一个Web API版本使用是基于公约路由.../orders/1 /orders/2013/06/16 2、启用属性路由  要启用属性路由,在配置期间需要调用MapHttpAttributeRoutes。...除非在IInlineConstraintResolver 实现特地添加它们。 6、可选URI参数和默认值  你可以通过添加一个问号标记路由参数使成为一个可选URI参数。...对于同一个动作名称如果控制器有多重属性路由,一个后缀将被添加。例如,“Books.GetBook1" 和 "Books.GetBook2"。

84940

ASP.NET Web API编程——路由

2)如果路由词典中包含关于操作(Action)键值对,移除链表中名称和值匹配操作(Action)。 3)匹配操作(Action)参数与URI。...l 在参数列表中,从路由表中或请求URI查询字符串中,为每一个参数名找到一个匹配,匹配是区分大小写,并且不依赖于参数顺序。...对于来自于URI参数,要确保URI确实包含对应参数值,这个值可能在路由词典中或查询字符串中。 对于可选参数,如果绑定不能从URI中获得参数值,对于操作(Action)选择也没有影响。...设置路由名称后,可以在使用控制器(controller)属性ApiController.Url或ApiController.Route拼接URL。...含有通配符和路由约束顺序排第四。 含有通配符和无路由约束顺序排第五。 3)在上述规则无法区分情况下,即上述规则判定顺序相同两个路由,决定顺序依据是:区分大小写地,比较字符串序号。

1.7K80

杂(一)

ASP.Net WebAPI 和 WebMVC 问题 ---- 跨域 针对 .NET Framework MVC 跨域,只需要在 web.config 中添加如下内容即可: <system.webServer...,还需要添加一个特殊设计,就是为每个 APIController 添加一个 OPTIONS 方法,返回 null 即可: public string Options() { return null...,如果希望与实体属性对应,需要在 ConfigureServices 方法添加如下代码: services.AddMvc() .AddJsonOptions(options => { if (...这个页面中引入 js 框架会根据当前访问 url 去路由到相应子页面组件(可以理解为页面片段)进行逻辑处理和页面渲染。web 站中并没访问这个页面资源,所以出现 404。...ConstraintMap = { ["apiVersion"] = typeof(ApiVersionRouteConstraint) } }; configuration.MapHttpAttributeRoutes

68120

BGP篇

则抑制所有明细路由同时也不在继承明细路由community属性 4.AS-PATH属性继承 BGP路径属性 任何一条BGP路由都拥有多个路径属性。...EBGP路由AS-PATH出现自身AS号次数 默认为一次 AS-PATH特点 1、BGP路由传递给EBGP邻居时,添加自身AS到AS-PATH属性最前面,传输给IBGP邻居时不会添加。...当一条路由被反射器反射后,该RR(该簇)Cluster_ID就会被添加路由Cluster_list属性中。...防环规则 当RR收到EBGP路由时不会添加起源者ID和簇列表 当RR收到客户机和非客户机路由时,均会添加起源者ID和簇ID属性。...当客户机和非客户机从EBGP邻居收到路由发给RR设备时,RR也会添加起源者ID和簇ID 当RR自身起源路由通告给客户和非客户机时不会添加起源者ID和簇ID 无论客户和非客户机只要起源者属性或者簇列表中包含自己

37410

Vue总汇

【注意】被循环元素上必须加key 不要加v-if 可以遍历值类型 数组,对象,数字,字符串 为什么加key? 用于虚拟domdiff算法优化,且key在相对作用域里必须保持唯一值。...事件 事件绑定 v-on:eventName简写@eventName 事件回调函数来自于methods里函数 事件修饰符 .stop阻止事件冒泡 .prevent阻止默认事件 按键修饰符 .enter...value值 多选框 checkbox 按钮 button select v-model加在select标签上但是获取值是来自于包裹option标签上value值 textarea 文本域...$childern获取子元素直接操作子元素或调用子元素方法【非常推荐】 $emit子传父 1.常规方式 emit调用父级传过来函数 2. parent获取父组件实例对象,直接修改或调用【非常推荐...路由跳转方式 声明式导航 router-link 编程式导航 $router.push() 路由跳转方法 push() 向历史记录添加一条 go() 通过数字控制前进后退 back

8710

Ocelot(二)- 请求聚合与负载均衡

然而,有时候,上游服务想要获得来自两个API接口返回结果。Ocelot允许我们在配置文件中声明聚合路由 Aggregates,从而实现这样效果。...Aggregates跟 ReRoutes是同级,而且也是一个数组,这代表着我们可以声明多个聚合路由,而在我们声明这一组聚合路由属性 ReRouteKeys,它包含元素就是我们真正需要响应路由...然后再看看直接通过聚合路由访问 ? 可以看到,在返回结果中同时包含了Willing和Jack结果,并且是以 json串格式返回,以路由 Key属性值作为返回json属性。...我们在添加任何API接口情况下,声明一组下游服务不存在路由,并将它添加到聚合路由当中。...然后我在Ocelot项目中添加聚合器 LeaderAdvancedAggregator,要实现这个聚合器,就必须实现来自 Ocelot.Middleware.Multiplexer提供接口 IDefinedAggregator

99910

【BGP】路由器反射器

为此,我们需要在R2上部署路由策略,使R2直接向R4通告10.2.2.0/24路由。...信息 R1为BGP路由10.1.1.0/24始发者,R1将路由通告给了R2(10.0.12.2) 来自路由反射器客户端R1BGP路由10.1.1.0/24,R2将其反射给了R3(10.0.23.3...) 来自路由反射器客户端R2BGP路由10.1.1.0/24,R2反射时添加了Cluster_List属性,值为10.0.2.2,R3*将该条路由反射给了R4(10.0.34.4) 来自路由反射器客户端...R3BGP路由10.1.1.0/24,R3反射时添加了Cluster_List属性值,当前值为10.0.3.3,10.0.2.2,R4将该条路由反射给了R2(10.0.24.2) 再次查看R2BGP...再次查看R2上BGP路由10.1.1.0 24明细信息 依旧只有来自R1通告1条BGP路由,R4通告BGP路由其Cluster_List属性值中包含了R2Cluster-ID,R2忽略了该路由通告

22620

【BGP】路由器反射器

为此,我们需要在R2上部署路由策略,使R2直接向R4通告10.2.2.0/24路由。.../24始发者,R1将路由通告给了R2(10.0.12.2) 来自路由反射器客户端R1BGP路由10.1.1.0/24,R2将其反射给了R3(10.0.23.3) 来自路由反射器客户端R2BGP路由...10.1.1.0/24,R2反射时添加了Cluster_List属性,值为10.0.2.2,R3将该条路由反射给了R4(10.0.34.4) 来自路由反射器客户端R3BGP路由10.1.1.0/24,...R3反射时添加了Cluster_List属性值,当前值为10.0.3.3,10.0.2.2,R4将该条路由反射给了R2(10.0.24.2) 再次查看R2BGP路由表 在R2上查看BGP对等体10.123.24.4...再次查看R2上BGP路由10.1.1.0 24明细信息 依旧只有来自R1通告1条BGP路由,R4通告BGP路由其Cluster_List属性值中包含了R2Cluster-ID,R2忽略了该路由通告

17420
领券