C# Twilio错误-12300-仅有时内容类型无效

C# Twilio错误-12300-仅有时内容类型无效,c#,asp.net-web-api,twilio,twilio-api,C#,Asp.net Web Api,Twilio,Twilio Api,我有一个C#/.NETWebAPI端点与一个数字绑定。当该号码收到文本时,它通过webhook转发到我的API 有时(并非总是),我在调试器中遇到以下错误: 错误-12300 无效的内容类型 Twilio无法处理所提供URL的内容类型。 有关详细信息,请参阅Twilio标记XML文档 有效的内容类型。必须为所有请求返回内容类型。 没有内容类型的请求将在应用程序监视器中显示为 502网关错误 在引发这一事件的回应中,我看到了以下几点: 具有以下标题: Content-Type applicati

我有一个C#/.NETWebAPI端点与一个数字绑定。当该号码收到文本时,它通过webhook转发到我的API

有时(并非总是),我在调试器中遇到以下错误:

错误-12300

无效的内容类型

Twilio无法处理所提供URL的内容类型。 有关详细信息,请参阅Twilio标记XML文档 有效的内容类型。必须为所有请求返回内容类型。 没有内容类型的请求将在应用程序监视器中显示为 502网关错误

在引发这一事件的回应中,我看到了以下几点:

具有以下标题:

Content-Type application/json; charset=utf-8 
Pragma no-cache 
Date Sat, 14 Jan 2017 02:57:45 GMT 
X-AspNet-Version 4.0.30319 
X-Powered-By ASP.NET
是什么原因导致了这种情况,我该如何解决它呢?

经过来自 这个代码似乎有效

[HttpGet]
public HttpResponseMessage SmsAnswerCallBack(string id)
{
    _smsAnswerCallBackCallIndex++;
    var r = new SmsApiResult();

    r.SetStatus(true, _smsSendCallIndex, _smsAnswerCallBackCallIndex);
    r.DataList  = _answers;

    var res     = Request.CreateResponse(HttpStatusCode.OK);
    res.Content = new StringContent("<Response/>", Encoding.UTF8, "text/xml");
    return res;
}
[HttpGet]
公共HttpResponseMessage SmsAnswerCallBack(字符串id)
{
_smsAnswerCallBackCallIndex++;
var r=新的SmsApiResult();
r、 设置状态(正确,_smsSendCallIndex,_smsAnswerCallBackCallIndex);
r、 数据列表=_答案;
var res=Request.CreateResponse(HttpStatusCode.OK);
res.Content=newstringcontent(“,Encoding.UTF8,“text/xml”);
返回res;
}
经过来自 这个代码似乎有效

[HttpGet]
public HttpResponseMessage SmsAnswerCallBack(string id)
{
    _smsAnswerCallBackCallIndex++;
    var r = new SmsApiResult();

    r.SetStatus(true, _smsSendCallIndex, _smsAnswerCallBackCallIndex);
    r.DataList  = _answers;

    var res     = Request.CreateResponse(HttpStatusCode.OK);
    res.Content = new StringContent("<Response/>", Encoding.UTF8, "text/xml");
    return res;
}
[HttpGet]
公共HttpResponseMessage SmsAnswerCallBack(字符串id)
{
_smsAnswerCallBackCallIndex++;
var r=新的SmsApiResult();
r、 设置状态(正确,_smsSendCallIndex,_smsAnswerCallBackCallIndex);
r、 数据列表=_答案;
var res=Request.CreateResponse(HttpStatusCode.OK);
res.Content=newstringcontent(“,Encoding.UTF8,“text/xml”);
返回res;
}

我也发送了一个json响应,收到了这个错误。用弗雷德里克·托雷斯的答案让我走上了正确的道路。看起来Twilio正在寻找TwiML格式的XML。但如果基本上只返回一个text/xml格式的空“Response”元素,这就满足了Twilio的要求。因此,这里有一个简单的答案,适用于任何遇到这种情况的人:

    public ContentResult IncomingSMS(string To, string From, string Body)
    {
            //do stuff
            //...
            return Content("<Response/>", "text/xml");
    }
public ContentResult IncomingSMS(字符串到、字符串从、字符串体)
{
//做事
//...
返回内容(“,“text/xml”);
}

我也发送了一个json响应,收到了这个错误。用弗雷德里克·托雷斯的答案让我走上了正确的道路。看起来Twilio正在寻找TwiML格式的XML。但如果基本上只返回一个text/xml格式的空“Response”元素,这就满足了Twilio的要求。因此,这里有一个简单的答案,适用于任何遇到这种情况的人:

    public ContentResult IncomingSMS(string To, string From, string Body)
    {
            //do stuff
            //...
            return Content("<Response/>", "text/xml");
    }
public ContentResult IncomingSMS(字符串到、字符串从、字符串体)
{
//做事
//...
返回内容(“,“text/xml”);
}

您的C#端点中似乎有一个错误,该错误仅由一些SMS消息触发。你能分享那段代码吗?这里有同样的问题。看起来你的C#端点中有一个错误,它只是由一些短信触发的。你能分享那个密码吗?同样的问题我正要把所有的头发都拔出来。谢谢。很好,看起来Twilio正在寻找TwiML格式的XML。我也在发送json响应。但如果你基本上只是以text/xml格式返回,这就满足了Twilio。我正要把所有的头发都拔出来。谢谢。很好,看起来Twilio正在寻找TwiML格式的XML。我也在发送json响应。但如果您基本上只是以text/xml格式返回,这就满足了Twilio的要求。