我正在用 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 为空。我在其他电话中也收到了 StatusResponse,所以这可能不是问题。