2016-09-08 3 views
0

ASP.NET MVCアプリケーションのリクエストパラメータに基づいてさまざまな形式のHTTPレスポンスを生成する方法を模索していますが、MediaTypeFormatterをWebAPI以外のものに使用できるかどうかは疑問でした(サブクラスはSystem.Web.Mvc.Controller)。非WebAPIコントローラにMediaTypeFormatterを適用する

MediaTypeFormatter WebAPIではうまく動作しますが、MVCパイプラインに注入される方法や場所に関する情報は見つかりませんでした。

答えて

1

私はこの同じ質問で一日私の髪を引っ張っていました。 MVC ControllerクラスのMediaTypeFormmaterに相当する処理を実行するには、モデルバインドをインターセプトできます。このページでは、XMLの操作方法について説明します。私の目標はBSONを扱うことでした。リクエストを処理するためにRESTサービスを作成する理由は見当たりませんでした。私のクライアントは拡張機能を備えたHttpClientです。

http://www.dotnetcurry.com/aspnet-mvc/1261/custom-model-binder-aspnet-mvc

コンテンツタイプをチェックするときは注意してください。それは文字セットを含むことができるので、次のようにGetBinderの行を変更しました:

if (receivedContentType == null || !receivedContentType.StartsWith("application/bson")) 
関連する問題