は同じものですか?asp.net mvc - [HttpPost/HttpGet]と[AcceptVerbs(HttpVerbs.Post/Get)]
[HttpPost/HttpGet] vs. [AcceptVerbs(HttpVerbs.Post/Get)]
違いがない場合は?
は同じものですか?asp.net mvc - [HttpPost/HttpGet]と[AcceptVerbs(HttpVerbs.Post/Get)]
[HttpPost/HttpGet] vs. [AcceptVerbs(HttpVerbs.Post/Get)]
違いがない場合は?
はい、絶対に同じです。 [HttpPost/HttpGet]
がASP.NET MVC 2に導入されました。私たちがタイプしなければならないキーストロークを減らすために:[AcceptVerbs(HttpVerbs.Post/Get)]
は、新しいコードを記述している場合でも最初にお勧めしますが、そのまま使用できます。
はいこれは同じですが、新しいバージョンでは、アクションは1つの動詞から要求を受け入れることしかできません。 [AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get | HttpVerbs.Delete)]
を使用すると、2つ以上を受け入れることができます。また、を使用して、HttpVerbs
enumの一部ではない他の動詞を受け入れることもできます。 [AcceptVerbs("Trace")]
。
なぜこの機能を使用する必要があるのかはわかりませんが、あなたは望む必要があります。
私は1つの理由を自分で処理しています - POST動詞だけを受け入れるUpdateエンドポイントを発見しました。それをPUTに切り替えるには、すべてのクライアントが更新されるまで、いくつかのビルドの両方の動詞を受け入れる必要があります。 –
+1 *あなたはHttpVerbs enumの一部ではない他の動詞を受け入れるために '[AcceptVerbs]'を使うことができます。 '[AcceptVerbs(" Trace ")]' * – mmushtaq