ASP.NET MVC 3 でアクションを設定して、Mercurial Webhook リクエストのペイロードを処理しようとしています。この場合、 Kiln によって生成されます。
ペイロードは JSON ですが、残念ながら content type の URL エンコードされたフォーム値として送信されます。これは、パラメータ名なしでエンコードされていないものapplication/x-www-form-urlencoded
を使用application/json
して送信すると、あまりにも簡単で標準的なものになるためです。
これは、標準のコンテンツ タイプJsonValueProviderFactory
を使用する要求しか取得しないため、新しいものだけを使用できないことを意味します。そしてもちろん、JSON ではなく実際にフォーム データを受け取るアプリ内の他の場所でフォーム データ値プロバイダーを使用するために、これらのリクエストが必要なためapplication/json
、ファクトリにリクエストをピックアップさせることはできません。application/x-www-form-urlencoded
では、ValueProvider または ValueProviderFactory を特定のアクションまたはルートにのみ使用するように指定する方法はありますか?