我有一个ASP.NET Core 2应用程序,我试图将对Twilio号码的呼叫转发给另一个号码。当我尝试返回TwiML
时,我收到一条错误消息:
"非可调用成员' TwiML'不能像方法一样使用。"
以下是方法:
[HttpPost]
public TwiMLResult ForwardCall(string called)
{
var response = new VoiceResponse();
response.Dial(newNumber);
return TwiML(response);
}
错误发生在这里:
return TwiML(response);
我见过的所有代码示例都告诉我以这种方式返回TwiML
,但出于某种原因,我无法做到。
答案 0 :(得分:9)
问题是控制器没有从TwilioController继承。一旦我从TwilioController继承我的控制器,错误就消失了。
答案 1 :(得分:0)
可能与.net nuget有关,但是在Visual Studio识别Twilio.Aspnet命名空间之前,我不得不卸载/重新安装twilio软件包。
答案 2 :(得分:-1)
由于TwiML
只是XML
,我会考虑返回ContentResult
。
ContentResult
对象是ActionResult
,它返回一个简单的字符串。它还支持设置将随响应返回的Content-Type
:
[HttpPost]
public ContentResult ForwardCall(string called)
{
var response = new VoiceResponse();
response.Dial(newNumber);
return new ContentResult(TwiML(response), "text/xml");
}