21

我正在编写一个 MVC 控制器,我需要在其中处理数据返回以及长轮询“数据已更改”,例如来自 SAME (!) url 的行为。对此我无能为力——我正在为一个已经存在的应用程序实现代理,所以我无法对 API 进行任何扩展/修改。

我的主要问题是: * POST 操作必须立即完成。* GET 操作需要更长的时间(有时可能需要几个小时)。

我可以以某种方式重写两者以转到不同的控制器吗?另一种方法是......嗯......使两者异步,只是POST正在完成正确的三个然后。

有人对此发表评论吗?

4

1 回答 1

47

您应该能够在路由级别使用约束来控制 url 转到哪个控制器/操作。

routes.MapRoute(
    "route that matches only GETs for your url",
    "your url",
    new { controller = "some controller", action = "some action" },
    new { httpMethod = new HttpMethodConstraint("GET") }
);

routes.MapRoute(
   "route that matches only POSTs for your url",
   "your url",
    new { controller = "some other controller", action = "some other action" },
    new { httpMethod = new HttpMethodConstraint("POST") }
);
于 2011-07-11T05:05:12.850 回答