我正在使用C#构建一个客户端 - 服务器桌面应用程序,而RestSharp似乎正在某个地方绊倒我的程序。最奇怪的是,其他POST正在使用相同的Node.js服务器应用程序。
这是使用RestSharp的代码:
RestClient client = new RestClient("http://"+Configuration.server);
RestRequest request = new RestRequest("sync", Method.POST);
request.AddParameter("added", Indexer.getAddedJson());
request.AddParameter("removed", Indexer.getRemovedJson());
RestResponse<StatusResponse> response = (RestResponse<StatusResponse>)client.Execute<StatusResponse>(request);
e.Result = response.Data;
这不起作用 - 我的意思是它根本不会调用服务器。我也用Fiddler证实了这一点。
但这确实有效:
using (var wb = new WebClient())
{
var data = new NameValueCollection();
data["added"] = Indexer.getAddedJson();
data["removed"] = Indexer.getRemovedJson();
var resp = wb.UploadValues("http://" + Configuration.server + "/sync", "POST", data);
}
我无法弄清楚我的生活是怎么回事。我不想仅为此请求停止使用RestSharp,其他POST请求正常工作!
这不是反序列化问题,因为response.Content为null。我在其他电话中也获得了StatusResponse,所以这可能不是问题。