如果不是HTTP路由,该路由是什么?

时间:2018-11-06 15:35:41

标签: c# asp.net-mvc

我有一个Web API控制器FAIRController。在页面中,我想向其发送一个ajax请求。但是,如果将url设置为@Url.RouteUrl("DefaultApi", new { controller = "FAIR", action = "KittedDate" }),则会得到null。但是,如果将其更改为@Url.HttpRouteUrl("DefaultApi", new { controller = "FAIR", action = "KittedDate" }),则会得到正确的URL,例如/Api/FAIR/KittedDate

因此,我想“为什么是一种方法而不是另一种方法”的问题是通过“这是一个 http 路线,而不仅仅是一条路线”来回答的。

但这只是提出了一个问题:什么是非HTTP路由?您不能仅使用HTTP请求访问用MVC定义的任何路由吗?它将在侦听HTTP流量的HTTP服务器上运行,并且只有了解HTTP流量,它才能知道有关控制器和操作的所有信息。

0 个答案:

没有答案