При отправке базового GET ответ. Содержание всегда равно NULL при возврате.Странно то, что он будет регистрировать контент при стандартном выполнении, но не при асинхронном.Я в конце своего остроумия.Любая помощь будет принята с благодарностью.
Я попытался использовать стандартные client.Execute и client.ExecuteAsync, и оба, похоже, имеют тот же результат, за исключением части регистрации.
Обычный метод (сидентифицирующая информация исчезла бы):
RestClient myClient = new RestClient(uri);
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Connection", "keep-alive");
request.AddHeader("accept-encoding", "gzip, deflate");
request.AddHeader("Host", "XXXXX");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Accept", "*/*");
request.AddHeader("Authorization", "XXX");
Serilog.Log.Information($"Request is {request}");
IRestResponse response = myClient.Execute(request);
var htmlString = response.Content;
Serilog.Log.Information($"Request is {response.Content}");
return htmlString;
Метод executeAsync:
RestClient myClient = new RestClient(uri);
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Connection", "keep-alive");
request.AddHeader("accept-encoding", "gzip, deflate");
request.AddHeader("Host", "XXXXX");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Accept", "*/*");
request.AddHeader("Authorization", "XXXXXXXXXX");
Serilog.Log.Information($"Request is {request}");
var htmlString = "";
myClient.ExecuteAsync(request, response =>
{
htmlString = response.Content;
Serilog.Log.Information($"Response is {response.Content}");
});
return htmlString;
Очевидно, я хочу, чтобы он одновременно регистрировал И возвращал фактическое содержимое.Хорошо, гуру, что я делаю не так?