C# 发布到Web API

C# 发布到Web API,c#,.net,asp.net-web-api,http-post,httpclient,C#,.net,Asp.net Web Api,Http Post,Httpclient,我正在尝试使用HTTPClient将对象发布到我的端点,但我收到错误消息,指出: Response status code does not indicate success: 415 (Unsupported Media Type). 我使用Webjob作为一个单独的解决方案来访问我的webapi端点。投寄代码如下: using (HttpClient client = new HttpClient()) { string path = "http:/

我正在尝试使用HTTPClient将对象发布到我的端点,但我收到错误消息,指出:

Response status code does not indicate success: 415 (Unsupported Media Type).
我使用Webjob作为一个单独的解决方案来访问我的webapi端点。投寄代码如下:

using (HttpClient client = new HttpClient())
        {
            string path = "http://localhost:15218/api/auth/test";
            var body = JsonConvert.SerializeObject(result);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            HttpContent content = new StringContent(body, Encoding.Unicode, "application/json");
            var res = await client.PostAsync(path, content);
            res.EnsureSuccessStatusCode();

        }
在StringContent上,我尝试将编码更改为Encoding.UTF32和Encoding.UTF8,但仍然收到相同的消息。 API终点

    [HttpPost]
    [Route("test")]
    public HttpResponseMessage test(RegisteredEvent s)
    {
        //some code
    }

我正在发布的对象与API端点参数所采用的对象相同,但当然,我在发布时正在序列化对象,如第一段代码所示。所以我不知道为什么它没有击中

检查API是否支持该媒体类型格式。它通常通过JsonFormatter接受Json,但确保在配置过程中没有删除它。确保在WebApiConfig
config.Formatters.Remove(config.Formatters.JsonFormatter)中找不到该文件显示如何配置Web API Hi,我的配置文件中没有任何格式,它是默认代码,即Web API路由