簡體   English   中英

ASP.NET MVC路由沖突

[英]ASP.NET MVC routing conflict

我的應用程序中有兩條路由,每條路由都在不同的Controller ,如下所示:

[Route("forgot-password", Order = 1)]
[Route("{variable}", Order = 2)]

當我運行應用程序時,出現異常:

找到與URL匹配的多種控制器類型。 如果多個控制器上的屬性路由與請求的URL匹配,則會發生這種情況。

請記住,這些動作在不同的Controllers Order屬性似乎不適用於Controllers !。

如何在asp.net mvc routing此方案? 我想使用基於屬性的路由,並且不想更改自己的網址。

錯誤的機制在這里進行了解釋(我猜您正在使用Web API)。 簡而言之,僅在控制器內部才具有優先級。

另外,對於我來說還不清楚為什么要這樣的通用路由:

[Route("{variable}")]

問題在於應用程序中的所有路由都已存儲在一起。 即使它位於不同的控制器中,它也是同一類型,因此他們可以彼此“看到”。 在您的情況下, “忘記密碼”“ {變量}”具有相同的格式,這就是為什么顯示有關多條路線的錯誤的原因。 正如@ NightOwl888所說,您可以使用RouteConfig創建路由,但是在這種情況下,您必須更改路由值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM