21

私は両方を処理する必要がある MVC コントローラーを作成しています。データの戻りと、同じ (!) URL からの動作のような長いポーリング「データが変更されました」。これについては何もできません。既存のアプリケーションのプロキシを実装しているため、API の拡張や変更を行う方法がありません。

私の主な問題は次のとおりです。 * POST 操作をすぐに完了する必要があります。* GET 操作には時間がかかります (場合によっては数時間かかることもあります)。

どういうわけか両方を書き直して、異なるコントローラーに移動できますか? 別の方法は... うーん... 両方を非同期にすることです。POST が正しく 3 回終了するだけです。

それについてコメントする人はいますか?

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 に答える