2016-09-08 58 views
0

我正在探索根據ASP.NET MVC應用程序中的請求參數生成不同格式的http響應的方法,並且我想知道是否有可能將MediaTypeFormatter用於非WebAPI控制器(即到System.Web.Mvc.Controller的子類)。將MediaTypeFormatter應用到非WebAPI控制器

MediaTypeFormatter在WebAPI中的工作非常出色,但我一直無法找到任何有關他們注入MVC​​管道的方式和位置的信息。

回答

1

我在這個問題上拉我的頭髮一天。爲了實現MVC控制器類的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"))