Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET WEB API 406错误:用于使用媒体格式的POST请求_Asp.net Mvc_C# 4.0_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc ASP.NET WEB API 406错误:用于使用媒体格式的POST请求

Asp.net mvc ASP.NET WEB API 406错误:用于使用媒体格式的POST请求,asp.net-mvc,c#-4.0,asp.net-mvc-4,Asp.net Mvc,C# 4.0,Asp.net Mvc 4,我对web api非常陌生: 我犯了一个错误 406:不可接受 asp.net web api rest服务中的错误消息 在我的rest服务中,我将媒体格式用于定制的XML输出,以获得定制的输出 我正在Global.asax页面中注册格式化媒体 GlobalConfiguration.Configuration.Formatters.Clear(); GlobalConfiguration.Configuration.Formatters.Add(new mynewformat()); 我所

我对web api非常陌生:

我犯了一个错误

406:不可接受

asp.net web api rest服务中的错误消息

在我的rest服务中,我将媒体格式用于定制的XML输出,以获得定制的输出

我正在
Global.asax
页面中注册格式化媒体

GlobalConfiguration.Configuration.Formatters.Clear(); 
GlobalConfiguration.Configuration.Formatters.Add(new mynewformat());
我所有的方法都是以类型化对象为参数的post方法,参数是从主体接受的

每当我尝试测试服务时…都会收到
406:Not acceptable
错误消息。 谁能帮帮我。。。这可能是什么原因

我注意到这里有几个有趣的地方

  • 若我在第行下方发表评论,那个么我得到的是
    200(OK)
    状态代码(这很好)。。。但格式不适用于输出

    GlobalConfiguration.Configuration.Formatters.Clear();
    
  • 如果我正在删除服务方法中的参数。。然后它就开始工作了 好

  • 我请求大家。。请告诉我此问题的原因/解决方法/解决方案/修复方法

    注意:我不想从URI接受参数,所以我将其设置为仅从frombody接受


    谢谢。

    实现自定义格式远不止是将其添加到配置格式化程序中。首先,对于客户端的所有请求,必须将媒体类型头更改为您选择的新自定义类型(如“application/myNewFormat”)。在后端,您必须实现一个新的MediaTypeFormatter来处理序列化。这涉及到更多的代码

    这里有一个很好的例子,它可以很容易地剥离为锅炉板代码:

    显示您的
    mynewformat
    code以下是示例的链接: