问题标签 [route-constraint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
379 浏览

ruby-on-rails - 不能在 Rails 4 中多次定义根路由

我的路线文件中有以下内容:

这段代码在 Rails 3 中运行良好,但是当我在 Rails 4 中使用它时,我收到以下错误消息:

无效的路由名称,已在使用“root”(ArgumentError)。

你可能已经使用 ':as' 选项定义了两条同名的路由

有办法解决这个问题吗?发生了什么变化?

0 投票
1 回答
540 浏览

asp.net-mvc - 多次调用自定义路由约束或在完全没有提及约束时调用

我编写了一个自定义路由,但发现它调用了未在属性路由中指定约束的 Action 方法。

并将其添加到

现在当我访问 Put() 方法时,路由约束的 Match() 方法被调用超过 1 次,最终失败。请注意,我没有在我的 Put() 属性路由中提到任何路由约束。

0 投票
1 回答
140 浏览

thread-safety - 自定义路由约束导致间歇性 404 错误

我有一个Asp.Net Core 1 RC1应用程序,它使用自定义路由约束来控制对应用程序的访问。应用程序(托管在运行的服务器上IIS 7.5)出现间歇性 404 错误,我怀疑这是由此路由约束引起的。在这里,您可以看到显示间歇性 404 错误的屏幕截图:

在此处输入图像描述

我怀疑这个问题与定义路由约束的代码不是线程安全的有关。自定义路由约束需要一个DbContext,因为它需要检查数据库是否为路由中指定的品牌启用了应用程序,我怀疑这个DbContext实例可能会导致问题。以下是在应用程序中定义路由的方式:

这是自定义路由约束:

任何人都可以确认此问题是由代码不是线程安全引起的,并推荐一种更改实现以使其线程安全的方法吗?

0 投票
0 回答
429 浏览

asp.net-mvc - ASP.NET MVC - 使用 RouteConstraint 为默认路由传递参数

我面临一个问题,有 2 个默认 asp.net mvc 路由(通过自定义约束应用)。我想要做的是,根据路由字典中是否提供参数来加载不同的视图。以下是我的两条路线RouteConfig.cs

/watch/Index/{title}如果提供了标题字符串,我想打开或者只是打开我的默认路由/Main/Index。下面是我的路由约束的实现。

VideoTypeRouteConstraint.cs

我正在尝试检查是否RouteValueDictionary包含 title 变量,如果是,则返回 true 以便/Watch/Index/{title}执行 my 。

现在当我点击以下网址时它可以工作

RouteValueDictionary包含键(标题),但其值始终为空。这就是我认为的问题所在,但我无法识别它。

这样做的整个想法是清理我的网址,SEO当我使用单独的控制器时,这些网址要长得多。

0 投票
0 回答
1059 浏览

asp.net-web-api2 - Web API 2 是否支持查询字符串参数的路由约束?

在 Web API 2 中,我可以在路由模板中放置约束;例如:

有没有办法以类似的方式约束查询字符串参数,例如format上面的示例?

(我知道我可能可以为format参数声明一个自定义值类型,然后[TypeConverter]在其上定义一个无效值失败,但我首先想看看 Web API 2 的路由约束机制是否也可以用于查询字符串参数.)

0 投票
1 回答
99 浏览

asp.net-core - 带有 IOptions 的自定义 RouteContraint

有没有办法将 IOptions 传递给自定义 IRouteConstraint?我正在尝试检查应用程序设置以查看是否需要特定路线。

0 投票
0 回答
89 浏览

c# - 在 RouteConstraint 中操作 RouteValueDictionary

可以说我有一条路线;www.kunduz.com/stuff/something

其中“某事”正在根据路线约束进行检查;

让我们说东西有这样的结构

考虑到对象 Stuff 不仅是 DB 中的一个条目,而且更像是一种类型。比如,如果这是一个电子商务网站,它可能是“汽车”或“家具”。

所以我正在做的是,我正在检查“某物”是否真的是我的路线约束上的有效“东西”。然后在我的控制器中;

现在,我还能做的就是这个

并获取我作为参数添加到控制器操作中的 Id

这可能会提高性能,对我来说更有意义的是,我应该避免两次获取 Id 内容。

我的问题是,这是一个好习惯吗?由于我的 URL 不包含 sutffId,因此我的控制器操作可能会让未来查看此代码的开发人员感到困惑。

我真的很感激对这个问题的一些见解。

谢谢你。

0 投票
2 回答
848 浏览

c# - 未找到 web api 2 路由

我的路线配置看起来像这样

我将用户控制器按操作划分为单独的文件,因此所有GET操作都在GetUserController.cs文件中,PUT操作在PutUserController.cs等等......

GET文件有一个像这样的部分类

PUT文件有一个像这样的部分类

不管我做什么,我总是得到一个 404 错误。我正在使用 Postman 进行测试我正在使用Content-Typeapplication/json URL 是使用 http://localhost:52450/api/users/3F3E0740-1BCB-413A-93E9-4C9290CB2C22/locations/4F3E0740-1BCB-413A-93E9-4C9290CB2C22/lista ,POST因为我无法使用GET第一种方法发布复杂类型

http://localhost:52450/api/users/3F3E0740-1BCB-413A-93E9-4C9290CB2C22/locations/4F3E0740-1BCB-413A-93E9-4C9290CB2C22/insert有一个PUT

如果有的话,我还需要在路由配置中设置哪些其他路由?

编辑

奇怪的是,另一个也是部分类的控制器似乎使用相同的配置

这是连接一切的global.asax.cs 。

0 投票
1 回答
634 浏览

asp.net-mvc - 如何同时使用路由约束和属性路由?

我在我的网站中使用路由约束,现在我需要使用属性路由。

路由约束类:

对于属性路由,请使用上面的代码操作:

曾经的 Attribute Routing 和 Route Constraint 目前单独工作。但是当我一起使用时,例如这种情况下,属性路由只起作用,而路由约束不起作用。

路由配置:

如何同时使用路由约束和属性路由?