ASP.NET Web アプリの実装を作成しています。特定の URL に対して呼び出すときに、要求が GET か POST かに応じて異なるアクション メソッドを呼び出したいと考えています。
私は 2 つの異なるアプローチを試しました。まず、次のアクション メソッドを持つコントローラーから始めます。
<HttpGet>
Public Function Index() as ActionResult
...
End Function
<HttpPost>
Public Function Index() as ActionResult
...
End Function
...そして、.action を URL の "Index" に設定する Route を登録します。2 つの関数のシグネチャが同じであるため、これはコンパイルされません。
次に、Post ルーチンの名前を「Subscribe」に変更しようとしましたが、もちろん、ルーティング テーブルに 2 つの異なるルートを指定する必要があります (新しいアクション メソッド名を指定するため)。そうすれば、2 番目が 1 番目によってキャンセルされることがわかります。
私は今、元のアイデアに戻ることを考えていますが、それにダミーのパラメーターを提供し、それを UrlParameter.Optional として指定します。これをポスト ルーチンの引数として持つことで、新しいメソッド シグネチャが作成されます。これで問題ないと思います。
ちょっと汚いハックのにおいがするので、他の人はどうするのだろうと思っていましたか?
マーティン。
Ps。私は今、汚いハックを試しましたが、うまくいきます。それでも他の人の意見を聞くことに興味があります。