1

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 を取得しているので、これはおそらく問題ではありません。

4

0 に答える 0