C# 斜纹夜总会';s TwilioRestClient SendSmsMessage返回null

C# 斜纹夜总会';s TwilioRestClient SendSmsMessage返回null,c#,mono,amazon-ec2,twilio,restsharp,C#,Mono,Amazon Ec2,Twilio,Restsharp,我的一切都在本地运行,但当我在运行Mono 2.10.9的Amazon EC2 Debian 6.0.6服务器上测试Twilio的服务时,我发现发送短信不再有效。我相信问题出在服务器配置的某个地方,因为我使用的是最新的Twilio(3.5.6)、RestSharp(104.1)和JSON.NET(4.5.11)库,并且我可以保证以下方法调用中使用的变量在运行时不是空的 var client = new Twilio.TwilioRestClient("{my account number}",

我的一切都在本地运行,但当我在运行Mono 2.10.9的Amazon EC2 Debian 6.0.6服务器上测试Twilio的服务时,我发现发送短信不再有效。我相信问题出在服务器配置的某个地方,因为我使用的是最新的Twilio(3.5.6)、RestSharp(104.1)和JSON.NET(4.5.11)库,并且我可以保证以下方法调用中使用的变量在运行时不是空的

var client = new Twilio.TwilioRestClient("{my account number}", "{my account token}");
var smsMessage = client.SendSmsMessage("{my account phone number}", "{my mobile phone number}", "Hello World!");
使用ntop,我看到有字节被发送/接收到/形成这个请求,但是smsMessage结果仍然是空的。SendSMSMessage函数利用了RestSharp库,特别是RestClient的Execute函数,该函数调用一个反序列化方法并返回一个IRestResponse,在这种情况下,数据字段为null

我在网上看到一些迹象表明问题可能出在反序列化过程中,但是,由于我已经确定我使用的是最新版本的JSON.NET,我不确定这里还需要采取哪些其他步骤


您对解决此问题有何建议?您是否怀疑这是代码或服务器问题?另外,使用Debian,您对我如何进一步调试此交互有何建议,甚至可以从应用程序外部获得完整的字节响应?

在调试RestSharp库时,我发现异常与SSL和Mono的受信任证书有关。我收到的异常消息如下:

Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
按照下面链接中的说明帮助我解决了这个问题,特别是 执行以下命令并重新启动mono

certmgr -ssl https://api.twilio.com

Hmmm。它是否真的正确发送了消息?当您在Debian实例上尝试时,该请求是否可能导致400个错误请求?实际上,较新版本的RestSharp不再依赖于JSON.NET,而是使用自己的内部JSON反序列化程序。Twilio helper库确实维护对JSON.NET的依赖关系,但其唯一使用时间是在请求返回大于400的状态代码时。所以我建议开始调试,先弄清楚Twilio返回的状态码是什么。如果大于400,则可能是JSON.NET在反序列化数据时遇到问题。否则,RestSharps反序列化程序更有可能出现问题……我还假设,既然您运行的是Debian,那么您使用的是Mono?如果是这样的话,我相信RestSharp和Twilio都有特定于mono的解决方案文件。您可能会考虑使用两个特定的项目来为库和源建立新的库。是的,您是正确的,我使用MUNO。在为Twilio使用预编译库时,我无法看到响应对象,因为它为null。但我会听从德文的建议,自己建造图书馆。这应该允许我远程调试进程。谢谢你的建议。