将MediaTypeFormatter应用于非WebAPI控制器

时间:2016-09-08 08:12:50

标签: asp.net-mvc asp.net-web-api

我正在探索基于ASP.NET MVC应用程序中的请求参数生成不同格式的http响应的方法,我想知道是否可以将MediaTypeFormatter用于非WebAPI控制器(即到System.Web.Mvc.Controller)的子类。

MediaTypeFormatter在WebAPI中工作得非常好,但是我还没有找到关于它们注入MVC​​管道的方式和位置的任何信息。

1 个答案:

答案 0 :(得分: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"))