我正在探索基于ASP.NET MVC应用程序中的请求参数生成不同格式的http响应的方法,我想知道是否可以将MediaTypeFormatter
用于非WebAPI控制器(即到System.Web.Mvc.Controller
)的子类。
MediaTypeFormatter
在WebAPI中工作得非常好,但是我还没有找到关于它们注入MVC管道的方式和位置的任何信息。
答案 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"))